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