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

FFmpeg 支持哪些视频格式和编解码器?如何选择合适的格式?

2月18日 11:09

FFmpeg 支持众多的视频格式和编解码器,了解它们的特性对于选择合适的编码方案至关重要。

常见视频容器格式

MP4 (MPEG-4 Part 14)

特点

  • 兼容性极好,几乎所有设备都支持
  • 支持多种编解码器(H.264、H.265、AAC 等)
  • 适合网络传输和存储

使用场景:网络视频、移动设备、社交媒体

bash
# 创建标准 MP4 ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4 # 创建快速启动 MP4 ffmpeg -i input.mp4 -c:v libx264 -c:a aac -movflags +faststart output.mp4

MKV (Matroska)

特点

  • 开源格式,功能强大
  • 支持几乎所有编解码器
  • 支持多音轨、多字幕轨道
  • 适合存储和收藏

使用场景:高清视频存储、多语言视频

bash
# 创建 MKV ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mkv # 保留所有轨道 ffmpeg -i input.mp4 -c copy output.mkv

AVI (Audio Video Interleave)

特点

  • 老式格式,兼容性好
  • 功能相对简单
  • 不支持现代编解码器

使用场景:旧设备兼容

bash
# 创建 AVI ffmpeg -i input.mp4 -c:v mpeg4 -c:a mp3 output.avi

WebM

特点

  • Google 开发的开源格式
  • 专为网络优化
  • 支持 VP8、VP9、AV1 编码
  • 体积小,质量好

使用场景:Web 视频、HTML5 视频

bash
# 创建 WebM ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm # 使用 VP9 编码 ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm

MOV

特点

  • Apple 开发的格式
  • 支持 ProRes 等专业编解码器
  • 适合专业视频制作

使用场景:专业视频制作、Apple 设备

bash
# 创建 MOV ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mov # 使用 ProRes 编码 ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 output.mov

常见视频编解码器

H.264 (AVC)

特点

  • 最广泛使用的视频编码标准
  • 兼容性极佳
  • 压缩效率中等
  • 编码速度快

使用场景:通用视频、网络视频、移动设备

bash
# H.264 编码 ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 # 高质量 H.264 ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow output.mp4 # 快速 H.264 ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset ultrafast output.mp4

H.265 (HEVC)

特点

  • H.264 的继任者
  • 压缩效率比 H.264 高 50%
  • 编码速度较慢
  • 兼容性正在改善

使用场景:4K/8K 视频、高压缩需求

bash
# H.265 编码 ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4 # 高质量 H.265 ffmpeg -i input.mp4 -c:v libx265 -crf 23 -preset slow output.mp4

VP9

特点

  • Google 开发的开源编解码器
  • 压缩效率接近 H.265
  • 完全免费
  • 适合 Web 视频

使用场景:Web 视频、YouTube

bash
# VP9 编码 ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm # 高质量 VP9 ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 18 -b:v 0 output.webm

AV1

特点

  • 新一代开源编解码器
  • 压缩效率比 H.265 高 30%
  • 编码速度慢
  • 兼容性有限

使用场景:未来视频、高质量压缩

bash
# AV1 编码 ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -strict experimental output.webm

ProRes

特点

  • Apple 开发的专业编解码器
  • 视觉无损压缩
  • 文件较大
  • 适合后期制作

使用场景:专业视频制作、后期制作

bash
# ProRes 编码 ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 output.mov # ProRes 422 ffmpeg -i input.mp4 -c:v prores_ks -profile:v 1 output.mov

音频编解码器

AAC

特点

  • 最广泛使用的音频编码
  • 兼容性极好
  • 质量好,体积小
  • 支持多声道

使用场景:通用音频、网络音频

bash
# AAC 编码 ffmpeg -i input.wav -c:a aac -b:a 128k output.aac # 高质量 AAC ffmpeg -i input.wav -c:a aac -b:a 256k output.aac

MP3

特点

  • 最流行的音频格式
  • 兼容性极佳
  • 有损压缩
  • 适合音乐

使用场景:音乐、便携设备

bash
# MP3 编码 ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3 # 高质量 MP3 ffmpeg -i input.wav -c:a libmp3lame -b:a 320k output.mp3

Opus

特点

  • 开源音频编解码器
  • 质量极佳,延迟低
  • 适合语音和音乐
  • 体积小

使用场景:网络音频、语音通话

bash
# Opus 编码 ffmpeg -i input.wav -c:a libopus -b:a 128k output.opus # 高质量 Opus ffmpeg -i input.wav -c:a libopus -b:a 256k output.opus

FLAC

特点

  • 无损音频压缩
  • 质量与原始文件相同
  • 文件比 WAV 小
  • 适合音乐收藏

使用场景:音乐收藏、无损音频

bash
# FLAC 编码 ffmpeg -i input.wav -c:a flac output.flac

格式选择指南

根据使用场景选择

场景推荐格式推荐编解码器
网络视频MP4H.264 + AAC
高清存储MKVH.265 + AAC
Web 视频WebMVP9 + Opus
专业制作MOVProRes
音乐存储FLACFLAC
移动设备MP4H.264 + AAC

根据质量需求选择

高质量

bash
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 256k output.mp4

中等质量

bash
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

低质量(小文件)

bash
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast -c:a aac -b:a 96k output.mp4

格式转换

格式互转

bash
# MP4 转 MKV ffmpeg -i input.mp4 -c copy output.mkv # AVI 转 MP4 ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4 # WebM 转 MP4 ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4

编码器转换

bash
# H.264 转 H.265 ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4 # VP9 转 H.264 ffmpeg -i input.webm -c:v libx264 -crf 23 output.mp4

选择合适的格式和编解码器需要考虑兼容性、质量、文件大小和编码速度等多个因素。

标签:FFmpeg