最近有一些处理视频的需求,发现 ffmpeg 实在是一款十分强大的开源软件。本文记录一些比较常用的 ffmpeg 使用场景,以及命令参数。
软件的安装方法在此就不详细介绍了,网上类似的教程比比皆是。
格式转换
视频格式转换:
|
|
音频格式转换:
|
|
查看所有支持的格式:
|
|
提取音频或视频
|
|
-an 表示不提取音频
-vn 表示不提取视频
更改分辨率
|
|
-s 1920x1080: 更改为 1920x1080 分辨率 -c:a copy: 使用原视频的编码格式
使用 H.264 编码
详细说明参考链接
|
|
YouTube 推荐的视频格式
YouTube 官方详细说明参考链接
|
|
Container: MP4
Parameter | YouTube recommends setting |
---|---|
-movflags faststart | moov atom at the front of the file (Fast Start) |
Video codec: H.264
Parameter | YouTube recommends setting |
---|---|
-profile:v high | High Profile |
-bf 2 | 2 consecutive B frames |
-g 30 | Closed GOP. GOP of half the frame rate. |
-coder 1 | CABAC |
-crf 18 | Variable bitrate. |
-pix_fmt yuv420p | Chroma subsampling: 4:2:0 |
Audio codec: AAC-LC
Parameter | YouTube recommends setting |
---|---|
-c:a aac -profile:a aac_low | AAC-LC |
-b:a 384k | Recommended audio bitrates for uploads: Stereo 384 kbps |
图片转换为视频
目录下有 img001.png
,img002.png
,img003.png
等图片,用这个命令可以把图片转换为视频。
|
|
或者用通配符:
|
|
复杂一点的例子:
|
|
-framerate 1/5: 表示每张图片出现 5 秒( 1/5 的倒数)
-c:v libx264: 使用 H.264 编码
-r 30: 输出视频为 30 fps,ffmpeg 会插入中间选择的帧
后记
刚开始用 ffmpeg 就感受到了它的强大,只用几个命令就基本能完成我目前的需求,视频质量、压缩等等方面的优化目前还没用到,如果以后接触到相关的命令,再回来更新本文。