使用 FFmpeg 将视频转码为 H.264 编码格式
1 | sudo apt-get -y install chromium-codecs-ffmpeg |
ffmpeg 命令,压缩的参数可以设置
1 | 压缩参数示例 |
当然有!在使用 FFmpeg 转码视频时,可以通过设置一些参数来控制视频的压缩程度,从而减小文件大小。以下是一些常用的压缩参数:
1. 控制比特率(-b:v
)
比特率是控制视频质量的重要参数。较低的比特率会导致文件更小,但可能会牺牲一些质量。
1 | ffmpeg -i 1.mp4 -vcodec h264 -b:v 500k output.mp4 |
-b:v
:设置视频的比特率。500k
:表示比特率为 500 kbps。
2. 使用两遍编码(-preset
和 -crf
)
两遍编码可以更好地优化视频质量,同时减小文件大小。
1 | ffmpeg -i 1.mp4 -vcodec h264 -preset veryslow -crf 24 output.mp4 |
-preset
:设置编码速度和压缩效率。选项包括ultrafast
、superfast
、veryfast
、faster
、fast
、medium
(默认)、slow
、slower
和veryslow
。veryslow
提供最佳压缩效果,但编码速度最慢。-crf
:设置恒定质量因子。范围是 0 到 51,其中 0 是无损,23 是默认值,51 是最差质量。通常推荐的范围是 18 到 28,18 是视觉上无损的,28
是最低质量。
3. 控制音频比特率(-b:a
)
音频比特率也会影响文件大小。
1 | ffmpeg -i 1.mp4 -vcodec h264 -b:v 500k -acodec aac -b:a 128k output.mp4 |
-acodec aac
:指定音频编码器为 AAC。-b:a 128k
:设置音频比特率为 128 kbps。
4. 调整分辨率(-s
或 -vf scale
)
降低视频分辨率可以显著减小文件大小。
1 | ffmpeg -i 1.mp4 -vcodec h264 -s 640x360 output.mp4 |
或者使用更灵活的 scale
滤镜:
1 | ffmpeg -i 1.mp4 -vcodec h264 -vf scale=640:360 output.mp4 |
-s 640x360
:设置视频分辨率为 640x360。-vf scale=640:360
:使用scale
滤镜调整视频分辨率。
5. 帧率(-r
)
降低帧率也可以减小文件大小。
1 | ffmpeg -i 1.mp4 -vcodec h264 -r 15 output.mp4 |
-r 15
:设置帧率为 15 fps。
6. 去除音频(-an
)
如果不需要音频,可以去除音频轨道,进一步减小文件大小。
1 | ffmpeg -i 1.mp4 -vcodec h264 -an output.mp4 |
-an
:去除音频。
综合示例
以下是一个综合示例,使用了多种参数来压缩视频:
1 | ffmpeg -i 1.mp4 -vcodec h264 -preset veryslow -crf 24 -b:v 500k -acodec aac -b:a 128k -vf scale=640:360 -r 15 output1.mp4 |
这个命令会:
- 使用 H.264 编码器。
- 设置编码预设为
veryslow
以获得更好的压缩效果。 - 设置恒定质量因子为 24。
- 设置视频比特率为 500 kbps。
- 使用 AAC 编码音频,音频比特率为 128 kbps。
- 将视频分辨率调整为 640x360。
- 设置帧率为 15 fps。
通过调整这些参数,你可以根据需要平衡视频质量和文件大小。