我有一个 MOV 文件,我想将其拆分成几个较小的文件(以逗号分隔的列表中的特定时间戳为单位)。我同时将视频压缩为 WEBM 文件。
我使用的命令是:
ffmpeg -i original.mov -map_metadata -1 -map 0 -c:v libvpx -crf 10 -qmax 40 -b:v 2.5M -cpu-used 16 -n -force_key_frames "00:00:02.481,00:04:25.907,00:06:26.712" -f segment -segment_times "00:00:02.481,00:04:25.907,00:06:26.712" "output_%03d.webm" 2> logfile.log
这种方法可行,生成的 WEBM 文件可以在 Windows Media Player 中正常播放,但其元数据的“持续时间”和“开始”值不正确,因此将它们嵌入 HTML5 中会出现问题。(HTML5 视频播放器认为视频比实际时间长,并且开始时间延迟。)
我究竟做错了什么?
答案1
-reset_timestamps [1|0]
在每个片段的开头重置时间戳,这样每个片段的时间戳都接近于零。这是为了简化生成的片段的播放。可能无法与某些多路复用器/编解码器组合一起使用。默认情况下设置为 0。