编解码器与容器 - Arch Linux 中文维基

跳转到内容

# 编解码器与容器

来自 Arch Linux 中文维基

相关文章

- Optical disc drive#Playback
- GStreamer
- FFmpeg

自维基百科Wikipedia, "编解码器（英语：codec）指的是一个能够对一个信号或者一个数据流进行编解码操作的设备或者程序。."

一般来说，编解码器被多媒体应用程序用来对音频或视频流进行编码或解码。为了播放编码后的数据流，用户必须确保安装了适当的编解码器。

这篇文章只关于编解码器及程式后端；见List of applications/Multimedia 以列举音视频播放器的选择如(MPlayer, mpv 和 VLC)

## 需求

播放常见的媒体需要

- 一个播放器
- 一个编解码器

如果有了媒体播放器，不一定非要安装编解码器。例如，MPlayer 就内置了大量编解码器。

## 编解码器列表

### 音频

见Wikipedia:Comparison of audio coding formats.

#### 无损音频编解码器

- Apple Lossless (ALAC) — 由苹果公司开发的无损音频压缩编解码器，部署在其所有的平台和设备上。

  https://alac.macosforge.org/ || alac-gitAUR

- FLAC — 自由的音频编解码器

  https://xiph.org/flac/ || flac包

- WavPack — 无损的音频压缩格式，同时也有有损的hybrid mode.

  https://www.wavpack.com/ || wavpack包

#### 有损音频编解码器

格式 | 编码器 | 解码器
--- | --- | ---
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包

1. mppenc 没有打包。

- CELT — 开源、无专利的有损编解码器， 特点是低延迟。

  http://www.celt-codec.org/ || celtAUR

- LAME — MP3 编码器、可视化框架分析。

  https://lame.sourceforge.io/ || lame包

- liba52 — 解码 ATSC A/52 (Dolby Digital) 流（有损）的自由库。

  https://liba52.sourceforge.io/ || a52dec包

- libdca — 编码 DTS 相干声学流（DTS Coherent Acoustics streams）的自由库。

  https://www.videolan.org/developers/libdca.html || libdca包

- MAD — 高品质 MPEG 音频解码器。

  https://www.underbit.com/products/mad/ || libmad包

- Musepack (MPC) — 开源有损音频编解码器，为 transparency 而设计。

  https://musepack.net/ || libmpcdec包

- opencore-amr — 自适应多速率（Adaptive Multi Rate，AMR）语音解码器的开源实现。

  https://sourceforge.net/projects/opencore-amr/ || opencore-amr包

- Opus — 开源无专利音频编解码器，为语音和通用音频而设计，低延迟。

  https://www.opus-codec.org/ || opus包

- Speex — 为语音设计的无专利有损音频压缩格式。

  https://www.speex.org/ || speex包

- Vorbis — 开源无专利有损音频编解码器。

  https://xiph.org/vorbis/ || libvorbis包

##### AAC

自 Wikipedia:

  高级音频编码（Advanced Audio Coding，AAC）是为数字音频压缩而设计的专有音频编码格式。作为 MP3 格式的继任者，AAC在相同采样率下音质一般优于 MP3。

- FAAC — 专有 AAC 音频编码器。

  http://faac.sourceforge.net/ || faac包

- FAAD2 — ISO AAC 音频解码器。

  http://faac.sourceforge.net/ || faad2包

- Fraunhofer FDK AAC — AAC 编码器的 OpenCORE 框架实现。该库经 Fraunhofer AAC 编解码器修改而来。

  https://sourceforge.net/projects/opencore-amr/ || libfdk-aac包 (codec library) fdkaac包 (CLI frontend for libfdk-aac)

- Nero AAC — Nero AAC reference quality MPEG-4 and 3GPP audio codec. (deprecated)

  https://www.nero.com/ || neroaac-binAUR

### 图像编解码器

- JasPer — 新兴的 JPEG-2000 Part-1 标准编解码器的软件实现。

  https://www.ece.uvic.ca/~frodo/jasper/ || jasper包

- OpenJPEG — 开源 JPEG 2000 编解码器。

  https://www.openjpeg.org/ || openjpegAUR

- WebP — 适用于有损与无损压缩的图像格式服务。目前由 Google 开发。

  https://developers.google.com/speed/webp/ || libwebp包

- AV1 Image File Format (AVIF) — 基于 AV1 视频编解码器的图像实现。

  https://github.com/AOMediaCodec/libavif || libavif包

- High Efficiency Image File Format (HEIF) — 基于 HEVC 编解码器的图像格式。通常使用 HEIC 容器。

  https://github.com/strukturag/libheif || libheif包

### 视频编解码器

另见 Wikipedia:Comparison of video codecs。

格式 | 编解码器库
--- | ---
AV1 | aom包, dav1d包 (decode), rav1e包 (encode), svt-av1包
AVS2 | davs2AUR (decode)
Daala | daala-gitAUR
Dirac | schroedinger包
DV | libdv包
H.265 | x265包, x265-hgAUR
libde265包, libde265-gitAUR
H.264 | x264包, x264-gitAUR
MPEG-1 | libmpeg2包 (decode)
MPEG-2
MPEG-4 | Xvid (xvidcore包)
Theora | libtheora包
VP8, VP9 | libvpx包, libvpx-gitAUR

- AV1 — AOMedia Video 1 (AV1) 是 Google's VP9、Mozilla's Daala、Cisco's Thor 编解码器的继任者。“aom”是编解码器的参考实现， “dav1d”是注重性能的编解码器， “rav1e” 是注重性能的解码器。Most benchmark show better performances with svt-av1 than rav1e.

  https://aomediacodec.github.io/av1-spec/ || aom包, dav1d包, rav1e包, svt-av1包

- Daala — Research video codec under development by the Xiph.Org Foundation and sponsored by the Mozilla Foundation. The goal of the project is to provide a free to implement, use and distribute digital media format and reference implementation with technical performance superior to h.265.

  https://www.xiph.org/daala/ || daala-gitAUR

- libde265 — Open source implementation of the h.265 video codec.

  https://github.com/strukturag/libde265 || libde265包

- libdv — The Quasar DV codec (libdv) is a software codec for DV video.

  http://libdv.sourceforge.net/ || libdv包

- libmpeg2 — Library for decoding MPEG-1 and MPEG-2 video streams.

  https://libmpeg2.sourceforge.io/ || libmpeg2包

- Schrödinger — Advanced royalty-free video compression format designed for a wide range of uses, from delivering low-resolution web content to broadcasting HD and beyond, to near-lossless studio editing.

  https://launchpad.net/schroedinger/ || schroedinger包

- Theora — Open video codec developed by the Xiph.org.

  https://www.theora.org/ || libtheora包

- VP9 — High-quality, open video format for the web that's freely available to everyone. Improved version of earlier VP8 codec.

  https://www.webmproject.org || libvpx包

- x264 — Free library for encoding H264/AVC video streams.

  https://www.videolan.org/developers/x264.html || x264包

- x265 — Open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format.

  https://www.x265.org/ || x265包

- Xvid — Open source MPEG-4 video codec.

  https://www.xvid.com/ || xvidcore包

## 容器格式工具

另见 Wikipedia:Comparison of video container formats。

- MKVToolNix — 一套用于创建、编辑和检查 Matroska 文件的工具。

  https://mkvtoolnix.download/ || mkvtoolnix-cli包, mkvtoolnix-gui包

- MP4Joiner — 一组用于处理 MP4 文件的图形用户界面工具（MP4Joiner、MP4Splitter）。

  https://www.mp4joiner.org/ || mp4joinerAUR

- OGMtools — OGG 媒体流的信息、提取或创建。

  https://www.bunkus.org/videotools/ogmtools || ogmtools包

## 后端

### GStreamer

摘自 https://gstreamer.freedesktop.org/:

  GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

简单地说，GStreamer 是许多媒体应用程序使用的"后端"或"框架"。参见 GStreamer 一文。

### xine

摘自 https://sourceforge.net/projects/xine/:

  xine is a free multimedia player. It plays back CDs, DVDs, BluRays and VCDs. It also decodes multimedia files like AVI, MOV, WMV, and MP3 from local disk drives, and displays multimedia streamed over the Internet.

作为 GStreamer 的替代方案，许多媒体播放器都可以配置为使用 xine-lib包 提供的 xine 后端。

请注意，xine 项目本身提供了一个视频播放器 xine-ui包。

### libavcodec

libavcodec 是 FFmpeg 项目的一部分。它包含大量视频和音频编解码器。libavcodec 编解码器包含在 MPlayer 和 VLC 等媒体播放器中，因此您可能不需要安装 ffmpeg包 软件包本身。

## 疑难解答

### Totem Player 中没有 H264、mpg4 或 Musepack (.mpc)

如果您在使用 Totem Player 时看到 "The H264 plugin is missing" 的警告，安装 gst-libav包。

### Parole Player 中没有 H264

如果您在使用 Parole 媒体播放器时看到 "Parole needs H.264 decoder to play this file" 的警告，安装 gst-libav包。

分类：​

- 多媒体

编解码器与容器
添加话题