树莓派使用ffmpeg推流实现无人直播
一、前因
曾几何时,一腔热血,收集下载了各种视频资源,闲来没事,总觉不该让其躺在硬盘里。
我瞧了瞧角落的树莓派,联想到一些直播平台播放的电影,心中的技术火苗开始烧窜。
要点:用ffmpeg将硬盘的影片推流到直播平台。
二、安装
更新软件
apt update && apt upgrade -y
安装解码器
apt install x264
安装ffmpeg,用来推流
apt install ffmpeg
安装screen,用来后台运行
apt install screen
三、单文件推流
创建screen会话
screen -S ffmpeg
单文件循环播放
ffmpeg -re -stream_loop -1 -i "/path/to/file1.wav" -vcodec copy -acodec aac -b:v 1500k -b:a 320k -f flv "你的rtmp地址/直播码"
参数解释
-re 按照帧率发送,必须
-stream_loop -1 无限循环
-i “发送文件路径” 文件路径
-vcodec copy 视频解码使用原有格式,如报错可用-vcodec h264
-acodec aac 声音解码使用AAC格式
-b:v 1500k 视频码率为1500k,默认为200Kbit/s
-b:a 320k 音频码率为320k
-r 60 视频帧率为60帧/s,默认25,原视频没有60帧,则无效,不影响推流
-f flv 输出格式为flv
”rtmp地址/直播码” 推流的目标地址
四、多文件推流
新建文件lists.txt
file "path/1.mp4"
file "path/2.mp4"
file "path/3.mp4"
新建文件live.sh
#!/bin/bash
while true
do
ffmpeg -f concat -safe 0 -re -i "/path/lists.txt" -vcodec copy -acodec aac -b:v 1500k -b:a 320k -r 60 -f flv "你的rtmp地址/你的直播码"
done
创建screen会话
screen -S ffmpeg
切换目录,执行live.sh
cd /path
sh live.sh
ps:报错记得给文件赋予权限chmod +x live.sh
chmod +x list.txt
五、screen常用方法
screen -S xxx 会话命名,xxx为id
screen -d xxx 会话离线
screen -r xxx 会话恢复,会话离线是可用
六、总结
资源废物利用,何乐不为。
该死,账号被封了,播放影视要版权。
玩玩而已,不要认真。