如何使用 ffmpeg 将直播流提取为 mp4 序列

如何使用 ffmpeg 将直播流提取为 mp4 序列

我想将直播流录制到磁盘上的 mp4 序列中。我可以像这样制作一个文件:

ffmpeg -i rtmp://source.com/live/stream -r 5 -t 60 c:\test.mp4

这样会生成一个 60 秒的 mp4(test.mp4)。我想要的是这样的:

ffmpeg -i rtmp://source.com/live/stream -r 5 -t 60 c:\test%d.mp4

这样每分钟就会产生一个 60 秒的 mp4(test1.mp4、test2.mp4 等)我发现了很多以类似方式提取单帧的例子,但不是视频。

我意识到我可以循环调用第一个示例,但我希望有一种好的方法,通过让 ffmpeg 处理排序,以最小化每个文件之间的损失。将实时流录制成 mp4 序列的最简洁方法是什么?

答案1

您可以使用段复用器. 示例命令:

ffmpeg -i rtmp://source.com/live/stream -c copy -flags +global_header -f segment -segment_time 60 -segment_format_options movflags=+faststart -reset_timestamps 1 test%d.mp4

相关内容