为什么创建的段的目标持续时间不是我指定的段

时间:2013-03-11 18:55:29

标签: http ffmpeg streaming

我正在使用以下命令

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中看到的是12但是我指定了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

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

1 个答案:

答案 0 :(得分:1)

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