我正在使用 FFMPEG 录制 RTP 流,命令如下:
ffmpeg -i udp://127.0.0.1:1234 -t 00:00:30 -vcodec prores -profile:v 3 output.mov
问题是,在视频开始时,生成的文件开始时会有几秒钟的延迟。它显示了下一个视频的第一帧,但停留了大约 3-7 秒。理想的解决方案是使用 Unix 管道,因为它可以减少延迟,直到最终文件可用,但使用临时文件也应该有效。
如果它确实有帮助,这是用于创建流的命令: 粘贴箱
(它将传入的 RTP 流延迟 30 秒,然后重新传输,以便稍后捕获特定时间点之前 15 秒和之后 15 秒的内容)
编辑:如果有比使用 UDP 流随时附加到延迟过程的输出更好的解决方案,那将是一个更好的解决方案,因为将有大约十三个这样的工作流程并行运行。