乐闻世界logo
搜索文章和话题

如何使用 FFmpeg 进行视频转码?有哪些重要的编码参数?

2月18日 11:02

视频转码是 FFmpeg 最常用的功能之一,涉及编码器、解码器和封装格式的转换。

基本转码命令

bash
# 基本格式转换 ffmpeg -i input.mp4 output.avi # 指定编码器 ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4 # 指定编码参数 ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

重要参数说明

视频编码参数

  • -c:v:指定视频编码器(如 libx264、libvpx-vp9)
  • -crf:恒定质量因子(0-51,值越小质量越高,默认 23)
  • -preset:编码速度预设(ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow)
  • -b:v:视频比特率(如 2M、1500k)

音频编码参数

  • -c:a:指定音频编码器(如 aac、mp3、libopus)
  • -b:a:音频比特率(如 128k、192k)
  • -ar:采样率(如 44100、48000)

硬件加速转码

bash
# NVIDIA GPU 加速 ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc output.mp4 # Intel QSV 加速 ffmpeg -hwaccel qsv -i input.mp4 -c:v h264_qsv output.mp4

常见场景

  1. 降低视频质量减小文件大小
bash
ffmpeg -i input.mp4 -crf 28 -preset slow output.mp4
  1. 提取视频流
bash
ffmpeg -i input.mp4 -an -c:v copy output.mp4
  1. 调整分辨率
bash
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

转码时需要根据目标平台和设备选择合适的编码器和参数,以在质量和文件大小之间取得平衡。

标签:FFmpeg