编码器和容器
来自 维基百科
- 编解码器(Codec)是一种用于对数据流或信号进行编码或解码的计算机硬件或软件组件。
通常,多媒体应用程序使用编解码器来编码或解码音频或视频流。为了播放编码后的流,用户必须确保已安装适当的编解码器。
本文仅涉及编解码器和应用程序后端;有关媒体播放器列表,请参阅 应用程序列表/多媒体(MPlayer、mpv 和 VLC 是常见的选择)。
需求
播放多媒体内容需要两个组件:
- 能够播放的媒体播放器
- 适当的编解码器
如果您已经安装了媒体播放器,则不一定需要明确安装编解码器。例如,MPlayer 会将大量编解码器作为依赖项引入,并且内置了许多编解码器。
编解码器列表
音频
另请参阅 维基百科:音频编码格式对比。
无损音频编解码器
- Apple Lossless (ALAC) — 由苹果公司开发并部署在其所有平台和设备上的无损音频压缩编解码器。
- FLAC — 自由无损音频编解码器(Free Lossless Audio Codec)。
有损音频编解码器
| 格式 | 编码 | 解码 | |
|---|---|---|---|
| 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 (Dolby Digital) 流的免费库(有损)。
- libdca — 用于解码 DTS Coherent Acoustics 流的免费库。
- MAD — 高质量 MPEG 音频解码器。
- opencore-amr — 自适应多速率 (AMR) 语音编解码器的开源实现。
- Opus — 开放、免版税、有损音频编解码器,专为语音、通用音频编码和低延迟设计。
- Speex — 专为语音设计的无专利、有损音频压缩格式。
- Vorbis — 开放、无专利、有损音频编解码器。
AAC
来自 维基百科
- 高级音频编码 (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) 开发的免版税图像格式,旨在广泛使用,支持重编码 JPEG 而避免产生一代损耗。
视频编解码器
另请参阅 维基百科:视频编解码器对比。
| 格式 | 编解码器库 |
|---|---|
| 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 — 先进的免版税视频压缩格式,设计用于广泛的用途,从低分辨率网络内容分发到高清广播及以上,再到近乎无损的演播室编辑。
- Theora — 由 Xiph.org 开发的开放视频编解码器。
- x264 — 用于编码 H264/AVC 视频流的免费库。
- x265 — 用于将视频流编码为 H.265/高效视频编码 (HEVC) 格式的开源项目和免费应用库。
- Xvid — 开源 MPEG-4 视频编解码器。
容器格式工具
另请参阅 维基百科:视频容器格式对比。
- 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、BluRay 和 VCD。它还可以解码本地磁盘驱动器上的 AVI、MOV、WMV 和 MP3 等多媒体文件,并显示通过互联网流式传输的多媒体内容。
作为 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。
VLC 中没有 H.264
如果您看到警告 VLC 无法解码格式 "h264" (H264 - MPEG-4 AVC (part 10)),请安装 vlc-plugin-ffmpeg。