致谢:雷霄骅
1.下载软件
在Zeranoe网站中下载自己需要的FFmpeg的静态程序,包括Windows和macOS(注意不要直接去官网下载源代码),如需下载Linux环境可到FFmpeg的官网下载。
2.配置ffmpeg环境
将cmd目录切换至ffmpeg.exe的当前目录下,如果不希望每次都切换至该exe所在的根目录下,可将下载的静态程序路径添加至环境变量中,例如
D:\tools\ffmpeg-20190426-f857753-win64-static\bin
通过输入ffmpeg命令获取版本信息,查看是否正确的打开该命令,如下图所示,输入ffmpeg后可现实该版本信息,则表示配置成功。
3.基本的操作格式
ffmpeg -i{输入文件路径} -b:v {输出视频码率} ..{若干条件}.. {输出文件路径}
注意:
所有的参数都是以键值对的形式指定的,例如输入文件为“-i”,其对应的值就是输入文件的路径;然后根据需要添加限制格式这里可以同时包括多个条件,也可以不包含任何条件,例如上面示例指令中“-b:v”表示视频码率设置,其后则为对应的码率值;最后面的为输出文件路径,注意该文件前不需要参数名称。注意键值对之间使用空格隔开。
参数 | 说明 |
---|---|
-h | 帮助 |
-i filename | 输入文件 |
-t duration | 设置处理时间,格式为hh:mm:ss |
-ss position | 设置起始时间,格式为hh:mm:ss |
-b:v bitrate | 设置视频码率 |
-b:a bitrate | 设置音频码率 |
-r fps | 设置帧率 |
-s wxh | 设置帧大小,格式为WxH |
-c:v codec | 设置视频编码器 |
-c:a codec | 设置音频编码器 |
-ar freq | 设置音频采样率 |
下面通过具体的事例演示以上的操作,关于相关概概念可以查看音视频常见码率、帧率等概念介绍
- 起始时间为第10s, 持续时间为10s,注意在键与值之间使用空格隔开,例如"-ss 10"
- 分辨率为640x360,帧率为25fps,视频码率为600kbps,音频码率为64kbps
- 视频编码器为libx264,音频编码器为libmp3lame,音频采样率为44100Hz
ffmpeg -i .\xk.mp4 -ss 10 -t 10 xk1.mp4
操作1:通过以上方式截取xk.mp4的文件数据,起始为第10s,持续处理时间为10s,并输出为xk1.mp4文件。
ffmpeg -i .\xk.mp4 -s 640*360 -r 25 -b:v 600k -b:a 64k xk2.mp4
操作2:这里有四个条件,设置分辨率、帧率、视频码率和音频码率其操作过程需要注意以下几点:
- 条件的编写顺序可以更换
- 分别率的设置格式为640*480 或640x480都可以
- 码率设置64kbps时,可以写为64k或64000,如果直接写为64则会报如下错误:
ffmpeg -i xk.mp4 -c:v libx264 -c:a libmp3lame -ar 44100 xk3.mp4
操作3:设置不同的编码器和音频的采样率,其中视频编码器是将视频像素(YUV/RGB)压缩成视频码流,从而降低视频的体积,常见包括H.264和H.265等;音频编码器是将音频采样数据(PCM等)压缩称为音频码率,常见的包括AAC和MP3等;音频采样率是指单位时间内(默认为1s)采集的音频数量,通常为44100HZ。