1

我正在使用以下命令

ffmpeg -i Apple.ts -map 0:0 -map 0:1 -c copy -f segment -segment_time 10 -segment_list test.m3u8 -segment_format ts 'fileSequence%d.ts'

文件确实被分段,但值不精确。在目标持续时间下方生成的 .m3u8 中看到,但我指定了 10

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOWCACHE:1
#EXTINF:11.478100,
fileSequence0.ts
#EXTINF:10.410400,
fileSequence1.ts
#EXTINF:11.745067,
fileSequence2.ts
#EXTINF:7.841167,
fileSequence3.ts
#EXTINF:8.024678,
fileSequence4.ts
#EXT-X-TARGETDURATION:12
#EXT-X-ENDLIST

另外,如果我不想要浮点持续时间,我该怎么做?

4

1 回答 1

1

要获得严格的持续时间,您需要确保您的输入文件已使用严格的 I 图像速率进行编码。确保您已将关键帧间隔设置为 10 秒,并将 sc_threshold 设置为 0,同时对原始 mp4.with ffmpeg 进行编码。然后运行您的分段命令。这将为您提供精确的 10 秒段。否则 ffmpeg 将尝试在 10 秒左右(或您给出的任何持续时间)在我想象的它可以找到的关闭时减少。

于 2013-03-12T02:44:35.967 回答