使用 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。
通过调整这些参数,你可以根据需要平衡视频质量和文件大小。