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 脚本,所以如果你设法让它工作了,请告诉我。
祝你好运 !