最初由 skyccy 发布
以下是我在某教程中写的一段``
AVISource读取不了
有的人可能试过用Directshowsource来读WMV.AVI`压制出后发现后面慢慢出现`不同步`
用`Directshowsource很多时会不同步`特别是WMV9`
如`Directshowsource("WMV9.AVI".FPS=24)每秒播放24帧`
因为WMV9的帧数是活动的(XIVD没有动态FPS)`如有4秒是30帧`每秒才读了24帧`
视频就比音频慢了1秒``(每秒读少了6帧`4秒就少读取24帧)
不论你定任何值都会不同步`可能有人会说:为什么你又说120FPS使用.ChangeFPS(XXX)来做?
这2个的性质不同`一个是指定每秒读取输出多少帧`一个是把输出帧数改变
LoadPlugin("VSFilter.dll")
v=AVISource("***.AVI",audio=false)
WMV9.AVI无法用AVISource是因为音频`audio=false意思去掉音频这样AVISource就可读了`
a=DirectShowSource("***.AVI",video=false)
刚才把视频的音频去掉了`这句是使用"DirectShowSource"读取无视频(video=false)的AVI`
VBR音频问题也用这方法`这样一把音视频分开来写`就解决了VBR做成不同步
AudioDub(v,a)