我现在正在使用Raspbian上的raspivid和配备PinoIR相机模块的覆盆子pi .

我几乎完成了设置并找到了FFmpeg 3.1.1的预编译版本,通过以下命令试验流式传输到youtube直播流:

raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<SESSION>

是否有任何参数可用于流式传输到本地计算机(例如通过读取流的VLC客户端)?

我已经用cvlc实现了另一个bash:

cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}':demux=h264

但是由于输入摄像机被系统锁定,因此无法同时执行两个bas .

所以,我查看了ffmpeg文档并在多个输出上找到了一个有趣的线程:https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs . 然后,我尝试了管道进程和另一个ffmpeg调用inital命令:

raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<SESSION> | ffmpeg -f h264 -i - -vcodec copy -f rtsp -rtsp_transport tcp rtsp://localhost:8888/live.sdp

它似乎有语法错误,也许它不是实现这一目标的最佳方式 . 你能不能让我走上正轨?

谢谢,祝你有个美好的夜晚!

萨科