250827-视频流播放Video-使用 FFmpeg 将视频转码为 H.264 编码格式

使用 FFmpeg 将视频转码为 H.264 编码格式

1
2
3
4
sudo apt-get -y install chromium-codecs-ffmpeg
sudo apt install -y ffmpeg

ffmpeg -i 1.mp4 -vcodec h264 output.mp4

ffmpeg 命令,压缩的参数可以设置

1
2
3
4
5
6
7
8
9
10
11
压缩参数示例
ffmpeg -i 1.mp4 -vcodec h264 -preset veryslow -crf 24 -b:v 500k -acodec aac -b:a 128k -r 15 output1.mp4

这个命令会:

- 使用 H.264 编码器。
- 设置编码预设为 `veryslow` 以获得更好的压缩效果。
- 设置恒定质量因子为 24。
- 设置视频比特率为 500 kbps。
- 使用 AAC 编码音频,音频比特率为 128 kbps。
- 设置帧率为 15 fps。

当然有!在使用 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:设置编码速度和压缩效率。选项包括 ultrafastsuperfastveryfastfasterfastmedium(默认)、slow
    slowerveryslowveryslow 提供最佳压缩效果,但编码速度最慢。
  • -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。

通过调整这些参数,你可以根据需要平衡视频质量和文件大小。