我试图仅加速视频中的某些帧,而不将其分成几个文件,这是我用来执行此操作的代码
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
但我得到“视频帧率不匹配”错误
任何帮助将不胜感激
答案 0 :(得分:2)
帧速率实际上并不匹配,因为通过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