FFmpeg对音频、视频播放速度的调整的原理不同。下面简单的说一下各自的原理及实现方式:ide
调整视频速率的原理为:修改视频的pts,dtscode
实现:视频
ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv
注意:视频调整的速度倍率范围为:[0.25, 4]blog
若是只调整视频的话最好把音频禁掉。get
对视频进行加速时,若是不想丢帧,能够用-r 参数指定输出视频FPS,方法以下:input
ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv
调整视频速率的原理为:简单的方法是调整音频采样率,可是这种方法会改变音色, 通常采用经过对原音进行重采样,差值等方法。class
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
注意:倍率调整范围为[0.5, 2.0]音频
若是须要调整4倍可采用如下方法:原理
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
若是须要同时调整,能够采用以下的方式来实现:
ffmpeg
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv
http://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video