视频变速是怎么实现的?画面与声音如何处理
讲解视频变速的原理:画面靠改写时间戳(setpts),声音靠时间拉伸(atempo),以及为什么变速后音调不会变。
画面变速靠改写每帧的显示时间戳(PTS):2 倍速就是把时间戳除以 2,帧还是那些帧,只是播得更快,所以时长减半。
声音变速不能简单改时间戳,那样音调会跟着变(变成花栗鼠或低音炮),需要用时间拉伸算法(atempo)在保持音调的前提下压缩或拉长音频。
atempo 单个滤镜只支持 0.5~2.0 倍,超过 2 倍会自动串联多个滤镜(例如 3 倍 = 2 × 1.5),这是正常做法,不影响音质。
慢放(0.5 倍)会让时长翻倍,输出体积也通常会明显变大;快放(2~3 倍)则相反。