使用相同的 ffmpeg 命令时随机无视频

使用相同的 ffmpeg 命令时随机无视频

命令如下:

ffmpeg -i rtmp://localhost/myapp/obs -c:a libfdk_aac -b:a 32k -c:v libx264 -f flv rtmp://localhost/hls/obs_low

我的 RTMP 服务器记录了所有已发布的流,因此我可以查看它们。奇怪的是,在rtmp://localhost/myapp/obs流式传输时,如果我运行上述 ffmpeg 命令,输出文件中只有音频,没有视频。在终端输出中:

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> aac (libfdk_aac))

但如果我再次运行相同的命令,可能会有视频。视频可能存在,也可能不存在,这是随机的。如果有视频,我会在终端中看到以下输出:

Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))

“仅音频”命令的完整输出:http://pastebin.com/zL0ctvTZ

“成功”命令的完整输出:http://pastebin.com/DQ1XJ1wM

答案1

听起来交错间隙很大。尝试使用-analyzeduration 1G -probesize 50M -i rtmp://...这些值在丢失流和开始捕获延迟之间进行权衡,因此我建议进行试验。analyzeduration 和probesize 的默认值都是5M,因此请尝试使用稍大的值,直到始终不会出现流丢失。首先尝试使用probesize。您可能不需要指定另一个。

相关内容