Ffmpeg快慢镜头,操作音视频

简介:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

关于下载和具体细节介绍自行百度,此篇文章仅记录使用过程中指令,亲验有效。

ffmpeg 处理视频,可以把视频做成快镜头(文件时长变短),也可以做成慢镜头(文件时长变长)。

1. 快镜头:2倍速

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4

其中:

[0:v]setpts=0.5*PTS[v] 意思是视频流变成0.5的倍;也就是原来的一半;
[0:a]atempo=2.0[a] 意思是音频流加快2.0倍;其实也是原来的一半长度。

2. 慢镜头

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=1.2*PTS[v];[0:a]atempo=1/1.2[a]" -map "[v]" -map "[a]" output.mp4

其中:

[0:v]setpts=1.2*PTS[v] 意思是视频流变成原来的1.2倍长;
[0:a]atempo=1/1.2[a] 意思是音频流也变成原来的1.2倍长(ffmpeg会自动计算1/1.2)。

【小结】建议用分数来设置音频倍数。比如把音视频都变成1.5倍:
setpts=1.5
atempo=1/1.5

3. 降低音频播放速度

ffmpeg -i input.mp3 -filter:a "atempo=3/4" -vn output.mp3

其中:

3/4 就是改成 3/4 的速度

上一篇:FFmpeg 调用 Android MediaCodec 进行硬解码(附源码)


下一篇:ffmpeg-merge:Linux Shell/Bash用ffmpeg串联合并多个视频文件