ffmpeg - 当多个循环输入缓冲区中的任何一个溢出时如何使ffmpeg失败

标签 ffmpeg video-streaming

我使用以下内容将两个多播重新复用为一个:

ffmpeg -i udp://239.1.1.1:5000 -i udp://239.1.1.2:5000 -map 0:v -map 0:a -map 1:a -codec copy -f mpegts udp://239.1.1.3:5000
如果其中一个多播消失,另一个很快就会超出其循环缓冲区,从而导致该输入线程按预期退出。
不幸的是,另一个循环缓冲区没有溢出,因为没有输入,所以 ffmpeg 挂起什么也不做。
是否可以将 ffmpeg 配置为,如果任何输入线程退出,ffmpeg 将停止?
提前致谢!

最佳答案

答案是添加-xerror强制ffmpeg停止并在错误时退出的选项。
这可以与 -timeout 结合使用有问题的输入的值,在这种情况下,一旦在这段时间内没有数据到达,ffmpeg 就会退出。
或者,可以使用循环缓冲区溢出来触发错误,但 ffmpeg 直到下一次从输入缓冲区读取到线程消息队列时才会真正失败,这需要失败的多播返回,因为线程消息队列将被阻塞(取决于指定的 fifo_sizethread_queue_size 选项)。

关于ffmpeg - 当多个循环输入缓冲区中的任何一个溢出时如何使ffmpeg失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66790399/

相关文章:

windows - 使用/作为网络摄像头视频捕获和录制桌面屏幕

Android MediaRecorder : start failed: -2147483648

video - 为什么opencv可以打开视频但无法从中检索帧?

ios - 检索比特率时无法使用 HLS 获取 AVAsset 的轨道

node.js - 是否可以从单个流字节范围 block 创建新的 mp4 文件?

c++ - 从 Windows ffmpeg 0.52 迁移到 linux ffmpeg 0.61 代码错误。如何解决?

php - 如何在php中使用系统命令?

ffmpeg : convert FLAC to mp3 and add album art in one step

python - 将 m3u8 流下载为 mp3

flash - Wowza HTTP Live streaming San Jose vs Cupertino 即 Flash vs APPLE 到底有什么区别?