ffmpeg 连接动态块(动态)

ffmpeg 连接动态块(动态)

ffmpeg 文档中关于 concat 列出了以下方法
ffmpeg -f concat -i mylist.txt -c copy output

mylist.txt 文件包含类似
文件 '/path/to/file1'
文件 '/path/to/file2'
文件 '/path/to/file3'

我正在寻找一种以持久的方式进行连接的方法,其中文件的数量可以不断增加,例如在直播中,
我将向我的服务器发送每 10 秒的视频块(mp4 文件),并希望将它们连接/拼接在一起以输出到实时消息协议流(用于直播)

如果 concat 不是实现此目的的正确方法,请建议替代方法。

答案1

我也有同样的需要。播放列表的问题在于,ffmpeg 需要在解码开始之前将其全部读取,因此您无法即时创建视频。但参考 ffmpeg wiki:“可以在当前列表末尾引用另一个列表”

他们在这里提供了批处理脚本

https://trac.ffmpeg.org/wiki/Concatenate

也许您可以将第二个播放列表用于尚未创建的视频,然后循环回到第一个列表......

希望它能有所帮助。我不太擅长 shell 脚本,所以如果你设法让它工作了,请告诉我。

祝你好运 !

相关内容