# Codecs (日本語)

関連記事

- DVD の再生
- GStreamer
- MPlayer
- VLC media player

wikipedia より:

  コーデック (Codec) は、符号化方式を使ってデータのエンコード（符号化）とデコード（復号）を双方向にできる装置やソフトウェアなどのこと。

一般的に、マルチメディアアプリケーションにおいて音声や動画ストリームをエンコード・デコードするためにコーデックが使われます。エンコードされたストリームを再生するために、ユーザーは適切なコーデックをインストールする必要があります。

この記事ではコーデックとアプリケーションのバックエンドだけを扱います; プレイヤーのリストはアプリケーション一覧を見て下さい (MPlayer や VLC、mpv がよく使われています)。

## 要件

マルチメディアを再生するには２つのコンポーネントが必要です:

- メディアプレイヤー
- 適切なコーデック

メディアプレイヤーをインストールしている場合は必ずしもコーデックをインストールする必要はないこともあります。例えば、MPlayer は依存パッケージとして大量のコーデックをインストールします。また、内蔵コーデックも持っています。

## コーデック一覧

- ALAC — 情報の損失なしで音声ファイルのサイズを減らすことができるデータ圧縮形式。

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

- CELT — 音声の圧縮アルゴリズム。MP3, Vorbis, AAC などのように高品質な音楽を転送するのに適しています。先のフォーマットとは違って CELT では Speex, GSM, G.729 などの典型的な通話用フォーマットよりも信号の遅延が少なくなっています。

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

- Daala — 新しいビデオ圧縮技術。Mozilla Foundation, Xiph.Org Foundation などにより共同で作られています。プロジェクトの目標は、自由に使えて、h.265 よりも技術的なパフォーマンスが優れている、デジタルメディアフォーマットとリファレンス実装を提供することです。

  https://www.xiph.org/daala/ || libdaala-git

- FAAC — プロプライエタリの AAC オーディオエンコーダ。

  http://www.audiocoding.com/faac.html || faac

- FAAD2 — ISO AAC オーディオデコーダ。

  http://www.audiocoding.com/faad2.html || faad2

- FLAC — Free Lossless Audio Codec。

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

- Fraunhofer FDK AAC — Android (と Linux) ユーザー向けの完全な、高品質オーディオソリューション。

  http://www.iis.fraunhofer.de/en/bf/amm/implementierungen/fdkaaccodec.html || libfdk-aac-git

- Musepack — 高い品質に重点が置かれている音声圧縮フォーマット。可逆圧縮ではありませんが、ブラインドテストで、オリジナルの wave ファイルと小さくなった MPC ファイルの差を聞き分けられないくらいに設計されています。MPEG-1 Layer-2 / MP2 アルゴリズムをベースに1997年から急速に開発がなされ、今では最適化がほどこされパテントがないコードを含む段階にまで発展しています。

  http://musepack.net/ || libmpcdec

- JasPer — JPEG-2000 Part-1 規格にあるコーデックの実装、ソフトウェアベース。

  http://www.ece.uvic.ca/~frodo/jasper/ || jasper

- LAME — MP3 エンコーダとグラフィカルなフレームアナライザ。

  http://lame.sourceforge.net/ || lame

- liba52 — ATSC A/52 ストリームのデコードに使うフリーのライブラリ。

  http://liba52.sourceforge.net/ || a52dec

- libdca — DTS Coherent Acoustics ストリームのデコードのためのフリーなライブラリ。

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

- libde265 — h.265 ビデオコーデックのオープンソース実装。

  https://github.com/strukturag/libde265 || libde265 libde265-git

- libdv — Quasar DV コーデック (libdv) は DV ビデオのためのソフトウェアコーデックです。

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

- libmpeg2 — MPEG-1 と MPEG-2 ビデオストリームのデコードライブラリ。

  http://libmpeg2.sourceforge.net/ || libmpeg2

- MAD — ハイクォリティな MPEG オーディオデコーダ。

  http://www.underbit.com/products/mad/ || libmad

- Nero AAC — オールインワンの (デコード・エンコード・タグ) AAC 音声コーデック。

  http://www.nero.com/eng/company/about-nero/nero-aac-codec.php || neroaac

- opencore-amr — Adaptive Multi Rate (AMR) 音声コーデックのオープンソース実装。

  http://sourceforge.net/projects/opencore-amr/ || opencore-amr

- Speex — 通話向けに設計されたパテントフリーの音声圧縮フォーマット。

  http://www.speex.org/ || speex

- Theora — Xiph.org によって開発されたオープンな動画コーデック。

  http://www.theora.org/ || libtheora

- Vorbis — 完全にオープン・パテントフリーでプロフェッショナルな音声エンコード・ストリーミング技術。

  http://www.vorbis.com/ || libvorbis

- libvpx — 誰でも自由に使うことができるウェブ向けの高品質・オープンなビデオフォーマット。

  http://www.webmproject.org || libvpx libvpx-git

- Opus — 完全にオープンで、ロイヤルティフリー、多目的の音声コーデック。Opus はインターネットを介した音楽の転送などには向きませんが、ストレージ・ストリーミングアプリケーションにも使われることを想定しています。Skype の SILK コーデックや Xiph.Org の CELT コーデックからの技術を合体させており Internet Engineering Task Force (IETF) によって RFC 6716 として標準化されています。

  http://www.opus-codec.org/ || opus opus-git

- Schrödinger — 低解像度なウェブコンテンツから HD による放映やロスレスなスタジオでの編集まで、幅広い使用を考えて作られた先進的なロイヤルティフリーの動画圧縮フォーマット。

  http://www.audiocoding.com/faac.html || schroedinger

- WavPack — 可逆、非可逆、ハイブリッド圧縮モードを持った音声圧縮フォーマット。

  http://www.wavpack.com/ || wavpack

- x264 — H264/AVC ビデオストリームのエンコードのためのフリーのライブラリ。

  https://www.videolan.org/developers/x264.html || x264 x264-git

- x265 — ビデオストリームを H.265/High Efficiency Video Coding (HEVC) 形式にエンコードするためのオープンソースプロジェクトとフリーのアプリケーションライブラリ。

  http://x265.org/ || x265 x265-hg

- XviD — オープンソースの MPEG-4 ビデオコーデック。

  http://www.xvid.org/ || xvidcore

## バックエンド

### GStreamer

http://www.gstreamer.net/ より:

  GStreamer はメディアを扱うコンポーネントのグラフを組み立てるためのライブラリです。サポートしているアプリケーションは単純な Ogg/Vorbis の再生や音声・動画のストリーミングから複雑な音声 (ミキシング) や動画 (ノンリニア編集) の処理まで幅広く及びます。

つまり、GStreamer は バックエンド や フレームワーク として多くのメディアプレイヤーによって利用されています。GStreamer の記事を参照してください。

### xine

http://www.xine-project.org/about より:

  xine はフリーの (GPL ライセンスの) ハイパフォーマンスで、携帯性を持ち、再利用可能なマルチメディア再生エンジンです。xine 自体は使いやすいように共有ライブラリで作られており、さまざまなアプリケーションでスムーズな動画再生・動画処理のためにパワフルな API が使われています。

GStreamer の代わりとして、多くのメディアプレイヤーでは xine-lib によって含まれている xine バックエンドを使うように設定することが可能です。

xine プロジェクト自体もビデオプレイヤーを提供しています, xine-ui。

### libavcodec

libavcodec は FFmpeg プロジェクトの一部です。さまざまなビデオ・オーディオコーデックを含んでいます。libavcodec コーデックは MPlayer や VLC などのメディアプレイヤーに含まれているため、ffmpeg パッケージをインストールする必要はありません。

## Tips and tricks

### MPlayer バイナリコーデックのインストール

最後の手段として、MPlayer のバイナリコーデックをインストールすることができます。

再生できないファイルがあるときは http://www.mplayerhq.hu/design7/dload.html に行って、ファイルを再生するのに必要なコーデックをインストールしてください。

また、codecs や codecs64 という名前で AUR にも存在します。

### Totem プレイヤで H264, mpg4, Musepack (.mpc) がない

"H264 プラグインが見つからない" という警告が Totem メディアプレイヤーに表示されるときは、gst-libav をインストールして Gstreamer の libav ライブラリをインストールすることで直ります。

Category:

- Audio/Video (日本語)