ffmpeg - 生成moov原子

mmx*_*mmx 4 mp4 ffmpeg video-recording

我目前正在用blackmagic的prorecorder录制视频.我使用ffmpeg将视频动态转码为mp4视频容器.持续时间是未知的,因为我正在转码.s,prorecorder输出到命名管道.

我的目标是尝试使用浏览器播放此文件,而流仍在录制 - 播放很棒,但问题是当我打开文件时,持续时间定义为当前录制时间.

所以,问题是 - 我想在fe的持续时间内产生"假的"moov原子.使用ffmpeg 8小时,然后开始录制mp4文件,因为我已经在做了.我怎么能这样做?

我检查过的文档,我认为它是相关的 - https://ffmpeg.org/ffmpeg-formats.html#MOV_002fMP4_002fISMV 我也在堆栈上看到了这个:是否有可能伪造一个(mp4)moov原子?

Ala*_*lan 8

我有一个类似的问题,只在编码近2000个视频后才发现它.我没有重新开始,而是使用此命令插入moov原子:

/usr/bin/ffmpeg -i ./input.mp4 -c:v copy -movflags faststart -strict -2 ./output.mp4
Run Code Online (Sandbox Code Playgroud)

  • 这会将moov原子移到开始处,但仅在第二遍处进行,因此大大延长了转换时间,并且首先使目标无效:您必须等到转换完成后才能开始演奏。-movflags empty_moov`使文件在仍在转换时可以播放,但是未定义Duration,因此无法查找。因此,问题是:如果具有空moov的文件是可播放的并且我们知道持续时间,为什么不能只将持续时间数据放在开头呢? (2认同)