AviSynth - 视频帧率不匹配

AviSynth - video framerate doesn't match

我试图只加速视频中的某些帧,而不是将其分成几个文件,这是我用来执行此操作的代码

AVISource("C:\Users\me\Desktop\source_10FPS.avi")   # get the 10 fps video source

a= Trim(0,100)                                       # trim the first 10  seconds
b= Trim(100,200).AssumeFPS(14, sync_audio=TRUE)      # trim and speed it up 
c= Trim(200,0).AssumeFPS(10, 1, true)                #trim and go back to original speed 

return (a+b+c)                                       # combine the 3 Trims

但我收到 "video framerate doesn't match" 错误

如有任何帮助,我们将不胜感激

帧速率实际上不匹配,因为通过 AssumeFPS(14),您将 b 的 FPS 更改为 14,并尝试将其与两个 10 FPS 片段连接起来。 FPS通常不会随着视频的变化而变化,除非是VFR(可变帧率),但这很复杂。

要获得更简单的解决方案,您可以执行以下操作:

Ar=Audiorate()                                                                  #get audio sampling rate of original clip
a= Trim(0,100)                                                                  #trim the first 10  seconds
b= Trim(101,200).AssumeFPS(14, sync_audio=TRUE).ChangeFPS(10).ResampleAudio(Ar) #trim and speed it up while keeping audio rate and fps intact
c= Trim(201,0)                                                                  #note that to avoid having repeating frames (#100 and #200) you need to change Trim numbers

您也可以使用 ConvertFPS 而不是 ChangeFPS 来实现更流畅的播放。


在此处了解更多信息:http://avisynth.nl/index.php/FPS