如何使用连续搜索来编码(ffmpeg x264)

时间:2015-04-11 17:34:31

标签: batch-file ffmpeg video-encoding x264

我有一个批处理文件,可以将视频文件从“Source”文件夹编码为“Target”文件夹。

批处理文件内容为:

  

for %% a in(“Source *。*”)do @echo DirectShowSource(“%% a”)>> “batchScript.avs”&& @echo MSharpen(10,120)>> “batchScript.avs”&& ffmpeg -i“batchScript.avs”-n -c:v libx264 -crf 24 -c:libmp3lame -b:192k“Target \ %% ~na.mp4”&& del“batchScript.avs”暂停

我不知道为什么,但是当我在媒体播放器中播放经过编码的文件时,我只能及时跳转到离散跳转而不是我点击的确切时间。

可以做什么,所以这不会发生?

全部谢谢!

1 个答案:

答案 0 :(得分:2)

Media Player Classic在View > Options > Tweaks中有一个名为快速搜索的选项,默认情况下已启用。为了快速起见,这个选项使MPC只寻求关键帧。

关键帧(或I帧)不需要其他视频帧才能被解码,但它们的压缩率最低(也就是说,文件大小/流比特率会随着很多关键帧而变大)。 / p>

libx264的默认关键帧间隔为250(帧),最小关键帧间隔为25.例如,每秒25帧,这意味着关键帧每250/25 = 10秒或更短。< / p>

当然,如果在MPC中启用快速搜索,这将使搜索变得困难。

要缩短关键帧间隔,您可以使用-g [size]或使用x264选项keyint=[size]指定GOP大小。

例如:对于25 fps和GOP大小75,每个最大值都有一个关键帧。 3秒。