如何让 ffmpeg 附加到现有的输出文件而不覆盖它?

Tom*_*y74 5 ffmpeg mpeg2-ts

我通过 UDP 接收 MPEG-TS 流,并使用 FFmpeg 将内容保存到文件中(使用编解码器复制并映射所有流)。在流停止的情况下,我想在恢复时重新启动 FFmpeg 并附加到已写入的现有文件中。

如何配置 FFmpeg 以附加到文件并且在再次启动时不覆盖它?

输入和输出容器都是 MPEG-TS,并且流和编解码器的数量将相同。

aer*_*tal 3

您可以输出到stdout并使用 shell 重定向来输出到文件。这适用于可直接连接的格式,例如mpegts产生不连续性:

ffmpeg -re -i udp://... -f mpegts - >> output.ts

  • 如何防止不连续性?我想在播放视频时附加几个 .ts 块,但我可以每 10 秒看到块的剪切。如果我覆盖文件(使用 -i "concat:chunk1.ts|chunk2.ts")而不是附加,则不会出现此问题。我认为应该可以使用 .ts 块来完成此操作而无需覆盖,因为这就是 HLS m3u8 直播的工作原理,您可以在文件仍在下载时播放文件。 (2认同)