1、安装

  • 下载

下载ffmpeg:ffmpeg-git-full.7z,下载后解压即可。

  • 配置环境变量

将解压后的bin目录添加到环境变量Path中:

F:\ProgramFiles\ffmpeg\bin

2、视频裁剪

ffmpeg -i [input] -ss [start] -to [end] -c copy [output]

样例:

ffmpeg -i input.mp4 -ss 00:00:05 -to 00:01:00 -c copy output.mp4

其中-c copy表示通过流复制修剪视频,不会重新编码视频,这样是比较快的。

3、视频拼接

将要拼接(合成)的文件按以下格式保存到文件中,例如:

filelist.txt

file 'hello.mp4'
file 'world.mp4'

执行以下命令拼接(合成)视频:

ffmpeg -f concat -i filelist.txt -c copy output.mp4

4、查看视频信息

ffmpeg -i video.flv -hide_banner

其中-hide_banner参数可以隐藏ffmpeg中显示的版权声明,例如构建选项和库版本。

5、视频分割为图片

ffmpeg -i output.flv image%d.jpg -hide_banner

执行完后可以在当前目录中看到生成的多张图片;测试用的output.flv为时长一秒的视频,生成了16张图片(image1.jpg~image16.jpg)。

6、图片转换为视频

ffmpeg -f image2 -i image%d.jpg imagesToVideo.mpg

执行此命令会将当前目录下的image1.jpg、image2.jpg等文件转换为imagesToVideo.mpg视频文件。

其中-f表示强制输入或输出文件格式。输入文件的格式通常是自动检测的,而输出文件的格式是根据文件扩展名猜测的,因此在大多数情况下不需要此选项。

7、视频转换为动图

ffmpeg -i output.mp4 animated.gif

8、视频格式转换

input.mp4文件转换为result.flv文件:

ffmpeg -i input.mp4 -c copy result.flv

9、视频中提取音频

ffmpeg -i input.mp4 -vn -c:a copy output.aac

10、视频与音频文件混合

ffmpeg -i audio.mp3 -i input.mp4 video_audio_mix.mpg

经测试mp3文件需要放在前面,否则合成后的视频中还是原来的音频。

11、提高或降低视频播速

提高视频播放速度:

ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" highspeed.mpg

降低视频播放速度:

ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" lowerspeed.mpg

其中vf参数为调整播放速度的视频过滤器。

经测试,生成的视频只是处理了视频的倍速。

12、测试视频和音频质量

要在转换后比较视频和音频,可以使用以下命令,这有助于测试视频和音频质量:

ffplay input.mp4
ffplay audio.mp3

13、音频文件添加封面

可以使用以下命令将封面海报或图像添加到音频文件中:

ffmpeg -loop 1 -i cover.jpg -i audio.mp3 -c:v libx264 -c:a aac -b:a 192k -shortest output.mp4

其中-loop表示图片无限循环,-shortest表示音频文件结束,输出视频就结束(当最短的输入流结束时完成编码)。

参考资料:

FFmpeg 视频处理入门教程

How Can FFmpeg Trim Video in Original Quality

15 Useful ‘FFmpeg’ Commands for Video, Audio and Image Conversion in Linux – Part 2

ffmpeg Documentation