我不能决定这是超级用户,还是视频制作,所以如果你认为我搞错了,我很抱歉。
我已经从计算机上的各种输入(一些是通过WiFi,一些RTMP等)获得了许多不同的视频流,并且我已经将它们全部转码成原始的h264帧。
现在,我想将它们输出到RTMP流。例如,我将设置camera1以输出到一个名为CAM01的命名管道。我可以让ffmpeg从管道中读取数据,但当我想要切换摄像头时,问题就来了。我希望杀死输出到管道的camera1,然后启动一个新的进程,将camera2输出到相同的CAM01管道,这样可以让ffmpeg拾取流,但是它会挂在我关闭第一个摄像头之前收到的最后一帧上。
但是,如果Camera1的输出由于某种原因而中断(例如,到它的无线连接中断),那么当图片恢复时,FFmpeg就不会有任何问题。
基本上,有没有一种方法可以让ffmpeg即使在管道暂时中断的情况下也能保持读取,或者我想要做的事情是不可能这样做的?
对于命名管道,我是个新手,所以请原谅我可能的无知。我目前正在使用的命令(请注意,现在它会生成音频,因为我还没有对音频进行排序)
ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i CAM01 -vcodec copy -acodec aac -ab 128k -g 120 -strict experimental -f flv "my_rtmp_URL"如果重要的话,CAM01管道基本上只包含原始的h264帧(就像您退出raspivid一样)
蒂娅!
编辑:忘了说,我正在使用Linux Mint
https://stackoverflow.com/questions/44634087
复制相似问题