編解碼器與容器 - 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包。

分類：​

- 多媒體

編解碼器與容器
新增話題