这个教程的目的是利用树莓派发送直播视频到直播服务器,最终实现基于树莓派的实时推流,推流使用rtmp推流。
用到的工具有:
硬件
软件
- 客户端 ffmpeg,用于推流
- 播放器vlc,用于播放
- 服务器srs,用于直播服务器
操作步骤
1、将摄像头插入到树莓派USB,任何摄像头均可。
2、编写推流脚本pushrtmp.sh
ffmpeg -f video4linux2 -framerate 30 -video_size 320x240 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -video_size 320x240 -threads 0 -f flv rtmp://你的IP地址/live/livestream 2> /dev/null &
3、编写推流脚本的守护进城脚本checkpushrtmp.sh
#!/bin/sh
num=``ps -ef | grep ffmpeg | grep -v grep | wc -l``
if [ $num -lt 1 ]
then
/home/pi/pushrtmp.sh
fi
上面应该是一个引号
4、编写计划任务,加入计划任务,每分钟检查一次,确保推流脚本运行。
*/1 * * * * /home/pi/checkpushrtmp.sh
5、在SRS检查推流是否已经到了服务器
6、使用vlc,打开网络串流,播放推流,和上面的地址一样
rtmp://你的IP地址/live/livestream
7、推流播放成功
如果要使用其它协议,例如RTSP方式,因为RTSP为拉流模式,需要在同一网段地址内进行视频流采集,并转推流到外网方可实现推流。
可在淘宝搜索rtsp转rtmp直播推流器推流到服务器。并使用rtmp://你的IP地址/live/摄像头名字
地址推送和播放。