2017-06-16 195 views
0

要将视频从IP摄像头流式传输到Youtube我使用的是代码(通过Ubunu): ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp:// user: [email protected]:554 -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/ -nostdin -nostats的/ dev/null的2>FFMPEG流RTSP到RTMP(Youtube)添加徽标

这是学校 我有两个摄像头和两个流的蜜蜂项目: https://www.youtube.com/watch?v=ws-VcLXo-hI

一切都OK了,但是......我想知道: 1. 如何添加png图标到该strem。我已尝试-i /home/user/rvvg_logo_round.png -codec:v libx264 -preset ultrafast -filter_complex覆盖和另一种方法,但没有结果。 2.有时在晚上有问题,视频流停止。 如何自动检查进程状态并重新启动流。 我试图创建如http://videos.cctvcamerapros.com/raspberry-pi/ip-camera-raspberry-pi-youtube-live-video-streaming-server.html中所述的sh文件并放入cron作业,打赌这只是检查一个凸轮进程。有更好的主意吗?

回答

0

解决方案可自动检查进程状态并在不启动时启动ffmpeg。 添加cron作业方式:crontab -e命令 添加一行:* * * * * /home/user/start_youtube_stream_cron.sh

#start_youtube_stream_cron.sh: 
#!/bin/bash 


#BEE OUTSIDE CAMx 
SERVICE="ffmpeg" 
RTSP_URL="rtsp://user:[email protected]:554" 
YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2" 
YOUTUBE_KEY="<Youtube secret key 1>" 

#BEE INSIDE CAM 
RTSP_URL2="rtsp://user:[email protected]:554" 
YOUTUBE_KEY2="<Youtube secret key 2>" 


COMMAND="ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY} -nostdin -nostats" 


COMMAND2="ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL2} -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY2} -nostdin -nostats" 


if /usr/bin/pgrep $SERVICE > /dev/null 
then 
     echo "${SERVICE} is already running." 
else 
     echo "${SERVICE} is NOT running! Starting now..." 
     $COMMAND & 
     $COMMAND2 & 
fi