Skip to content

编码器概述

编码器(Codec)是指压缩和解压音视频数据的算法。FFmpeg 原生支持数百种编码器。

列出编码器

bash
# 列出所有编码器
ffmpeg -codecs

# 仅列出编码器
ffmpeg -encoders

# 仅列出解码器
ffmpeg -decoders

# 搜索特定编码器
ffmpeg -encoders | grep h264

视频编码器分类

类别描述编码器
H.264 系列兼容性最广libx264, h264_nvenc, h264_videotoolbox
H.265 系列更好的压缩率,兼容性稍差libx265, hevc_nvenc, hevc_videotoolbox
VPx免版税 Web 编码器libvpx-vp8, libvpx-vp9
AV1最新、压缩最好libaom-av1, libsvtav1
ProRes专业剪辑prores, prores_ks
DNxHD专业剪辑dnxhd
GIF动画gif
PNG/JPEG图像mjpeg, png

音频编码器分类

类别描述编码器
AAC最常见,Web 流媒体aac, libfdk_aac, aac_fixed
MP3通用兼容libmp3lame
Opus低延迟,语音/音乐libopus
Vorbis开放、Weblibvorbis
FLAC无损flac
PCM未压缩pcm_s16le, pcm_s24le
AC3DVD/蓝光ac3
E-AC3蓝光、流媒体eac3

复制模式

当编码格式不需要改变时,最快的转码方式是复制流:

bash
# 复制所有流(仅转换容器)
ffmpeg -i input.mkv -c copy output.mp4

# 复制视频,重新编码音频
ffmpeg -i input.mkv -c:v copy -c:a aac output.mp4

# 复制音频,重新编码视频
ffmpeg -i input.mkv -c:v libx264 -preset fast -crf 22 -c:a copy output.mp4

选择编码器

用途推荐视频编码器推荐音频编码器
Web (MP4)libx264aac
Web (WebM)libvpx-vp9libopus
归档FFV1FLAC
剪辑ProRes 422 HQ / DNxHDPCM
流媒体libx264 / h264_nvencaac / libopus
移动端libx264aac
GIFgif / palettegen
超低延迟h264_nvenclibopus

Released under the MIT License.