2013-03-11 51 views
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是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 

另外,如果我不想让floting点时间我该怎么做呢?

+0

什么是输入文件的GOP大小?你能发布上面命令的完整控制台输出吗? – d33pika 2013-03-12 02:01:11

回答

1

要获得严格的持续时间,您需要确保您的输入文件已使用严格的I图片速率编码。确保您已将关键帧间隔设置为10秒,并将sc_threshold设置为0,同时使用ffmpeg对原始mp4进行编码。然后运行您的分段命令。这会给你准确的10秒段。 否则ffmpeg会尝试并在我能够找到的图片上关闭10秒标记(或者您给出的任何持续时间)。

+0

sc_threshold为0,为什么需要? – Aftershock 2013-04-10 18:29:09

+0

,因为场景剪切检测将添加I图片,无论它检测到场景剪辑 – av501 2013-04-10 22:24:24

相关问题