编解码器和容器
来自 Wikipedia,“编解码器是一种能够编码和/或解码数字数据流或信号的设备或计算机程序。”
通常,多媒体应用程序利用编解码器来编码或解码音频或视频流。为了播放编码后的流,用户必须确保安装了适当的编解码器。
本文仅讨论编解码器和应用程序后端;有关媒体播放器的列表(MPlayer、mpv 和 VLC 是流行的选择),请参阅应用程序列表/多媒体。
要求
播放多媒体内容需要两个组件
- 功能强大的媒体播放器
- 适当的编解码器
如果您已安装媒体播放器,则不总是需要显式安装编解码器。 例如,MPlayer 拉取大量编解码器作为依赖项,并且还内置了编解码器。
编解码器列表
音频
另请参阅 Wikipedia:音频编码格式比较。
无损音频编解码器
- Apple Lossless (ALAC) — 一种由 Apple 开发并在其所有平台和设备上部署的无损音频压缩编解码器。
- FLAC — 自由无损音频编解码器。
有损音频编解码器
格式 | 编码 | 解码 | |
---|---|---|---|
AAC | #AAC | ||
ATSC A/52 | aftenAUR | a52dec | |
CELT | celtAUR | ||
MPEG-1 | libmad | ||
MP3 | lame | ||
Musepack (MPC) | – 1 | libmpcdec | |
Opus | opus | ||
Vorbis | libvorbis | ||
语音编解码器 | |||
AMR | opencore-amr | ||
Speex | speex |
- mppenc 未打包。
- CELT — 开源、免版税的有损音频编解码器,针对低延迟进行了优化。
- LAME — MP3 编码器和图形帧分析器。
- liba52 — 用于解码 ATSC A/52 (杜比数字) 流(有损)的免费库。
- libdca — 用于解码 DTS Coherent Acoustics 流的免费库。
- MAD — 高质量 MPEG 音频解码器。
- opencore-amr — 自适应多速率 (AMR) 语音编解码器的开源实现。
- Opus — 开源、免版税、有损音频编解码器,专为语音和通用音频编码以及低延迟而设计。
- Speex — 专为语音设计的免专利有损音频压缩格式。
- Vorbis — 开源、免专利、有损音频编解码器。
AAC
来自 Wikipedia
- 高级音频编码 (AAC) 是一种用于有损数字音频压缩的专有音频编码标准。 AAC 旨在成为 MP3 格式的继任者,通常在相同比特率下实现比 MP3 更好的音质。
- FAAC — 专有 AAC 音频编码器。
- FAAD2 — ISO AAC 音频解码器。
- Fraunhofer FDK AAC — OpenCORE 框架实现高级音频编码 (AAC) 编码器。 Fraunhofer AAC 解码器和编码器的修改库。
- https://sourceforge.net/projects/opencore-amr/ || libfdk-aac (编解码器库) fdkaac (libfdk-aac 的 CLI 前端)
- Nero AAC — Nero AAC 参考质量 MPEG-4 和 3GPP 音频编解码器。(已弃用)
图像编解码器
- JasPer — 新兴 JPEG-2000 Part-1 标准中指定的编解码器的基于软件的实现。
- OpenJPEG — 开源 JPEG 2000 编解码器。
- WebP — 一种采用有损和无损压缩的图像格式。 它目前由 Google 开发。
- AV1 图像文件格式 (AVIF) — 基于 AV1 视频编解码器的图像格式。
- 高效率图像文件格式 (HEIF) — 基于 HEVC 视频编解码器的图像格式。 通常在 HEIC 容器中。
- JPEG XL — 由联合图像专家组开发的免版税图像格式,旨在广泛使用,能够重新编码 JPEG,同时避免生成损失。
视频编解码器
另请参阅 Wikipedia:视频编解码器比较。
格式 | 编解码器库 |
---|---|
AV1 | aom, dav1d (解码), rav1e (编码), svt-av1 |
AVS2 | davs2AUR (解码) |
Daala | daala-gitAUR |
Dirac | schroedinger |
DV | libdv |
H.265 | x265 |
libde265 | |
H.264 | x264 |
MPEG-1 | libmpeg2 (解码) |
MPEG-2 | |
MPEG-4 | Xvid (xvidcore) |
Theora | libtheora |
VP8, VP9 | libvpx |
- AV1 — AOMedia Video 1 (AV1) 是 Google 的 VP9、Mozilla 的 Daala、Cisco 的 Thor 的后继编解码器。 aom 是编码和解码的参考实现。 dav1d 是注重性能的解码器。 rav1e 是注重性能的编码器。 大多数基准测试表明 svt-av1 的性能优于 rav1e。
- Daala — 由 Xiph.Org 基金会开发并由 Mozilla 基金会赞助的研究视频编解码器。 该项目的目标是提供一种免费实施、使用和分发数字媒体格式和参考实现,其技术性能优于 h.265。
- libde265 — h.265 视频编解码器的开源实现。
- libdv — Quasar DV 编解码器 (libdv) 是 DV 视频的软件编解码器。
- libmpeg2 — 用于解码 MPEG-1 和 MPEG-2 视频流的库。
- Schrödinger — 先进的免版税视频压缩格式,专为广泛用途而设计,从交付低分辨率 Web 内容到广播高清及更高分辨率,再到近乎无损的工作室编辑。
- Theora — 由 Xiph.org 开发的开源视频编解码器。
- x264 — 用于编码 H264/AVC 视频流的免费库。
- x265 — 用于将视频流编码为 H.265/高效率视频编码 (HEVC) 格式的开源项目和免费应用程序库。
- Xvid — 开源 MPEG-4 视频编解码器。
容器格式工具
另请参阅 Wikipedia:视频容器格式比较。
- MKVToolNix — 用于创建、编辑和检查 Matroska 文件的工具集。
- MP4Joiner — 用于操作 MP4 文件的 GUI 工具集合(MP4Joiner、MP4Splitter)。
- OGMtools — 用于 OGG 媒体流的信息、提取或创建工具。
后端
GStreamer
来自 https://gstreamer.freedesktop.org/
- GStreamer 是一个用于构建媒体处理组件图的库。 它支持的应用范围从简单的 Ogg/Vorbis 播放、音频/视频流式传输到复杂的音频(混合)和视频(非线性编辑)处理。
简而言之,GStreamer 是许多媒体应用程序使用的后端或框架。 请参阅 GStreamer 文章。
xine
来自 https://sourceforge.net/projects/xine/
- xine 是一款免费的多媒体播放器。 它可以播放 CD、DVD、蓝光光盘和 VCD。 它还可以解码来自本地磁盘驱动器的 AVI、MOV、WMV 和 MP3 等多媒体文件,并显示通过 Internet 流式传输的多媒体。
作为 GStreamer 的替代方案,许多媒体播放器可以配置为使用 xine-lib 提供的 xine 后端。
请注意,xine 项目本身提供了一个功能强大的视频播放器 xine-ui。
libavcodec
libavcodec 是 FFmpeg 项目的一部分。 它包含大量视频和音频编解码器。 libavcodec 编解码器包含在 MPlayer 和 VLC 等媒体播放器中,因此您可能不需要安装 ffmpeg 软件包本身。
技巧与窍门
Totem 播放器中没有 H264、mpg4 或 Musepack (.mpc)
如果您在使用 Totem 媒体播放器时看到“缺少 H264 插件”警告,安装 gst-libav。
Parole 播放器中没有 H264
如果您在使用 Parole 媒体播放器时看到“Parole 需要 H.264 解码器才能播放此文件”警告,安装 gst-libav。