我有一个批处理文件,可以将视频文件从“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”暂停
我不知道为什么,但是当我在媒体播放器中播放经过编码的文件时,我只能及时跳转到离散跳转而不是我点击的确切时间。
可以做什么,所以这不会发生?
全部谢谢!
答案 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秒。