動画における、
- エンコード
- コーデック
- Muxer
の関係について簡単に紹介します。
エンコードとは?
動画というのは、
1枚1枚の画像を繋ぎあわせて「パラパラ漫画」みたいにめくっていって、「動画」として見せかけているだけです。
なので、
1枚1枚の画像を圧縮せずに動画ファイルにしてしまうと、超巨大なファイルサイズになってしまいます。
例えば、私たちが普段見ている動画のほとんどは30fps(1秒間に30枚のパラパラ漫画)ですが、
画像1枚のサイズが3MBだとすると、
30枚/秒 × 3MB/枚 = 90MB/秒
という風に、「たった1秒の動画なのに容量が90MB」という巨大なファイルになってしまいます。
60秒の動画だと、
90MB/秒 × 60秒 = 5400MB
という超巨大なファイルになってしまいます。
こういった超巨大な動画のサイズを小さくするために、
動画の無駄な部分(削っても問題ない部分)を削除(圧縮)して、動画のファイル容量を小さくする作業のことを「エンコード」と言います。
エンコードとコーデックの関係
「コーデック」は、「エンコード」する際に使用する「圧縮のアルゴリズム」の事を言います。
「圧縮のアルゴリズム」が優れているコーデックを使用すればするほど、小さいファイル容量で高画質・高音質な動画にできます。
ちなみに、優れたコーデックを使用している動画のことを、「ビットレート当りの画質・音質が優れている動画」と言い換える事も出来ます。
しかし、「圧縮」した動画は、文字通り圧縮されているので、圧縮したものを元に戻さないと再生できません。
再生するには、これを「復元」する必要があります。
この「復元」作業の事を「デコード」と言います。
・デコードするソフトの事を「デコーダー」
・エンコードするソフトの事を「エンコーダー」
と言います。
両方できるソフトの事を一般的に「コーデック」とも呼びます。
単純に「コーデック」と言うと、ソフトを指す場合もあるし、アルゴリズムのことを指す場合もあります。
ただし、困ったことに「復元」するには、その動画ファイルに使用されている「圧縮のアルゴリズム」が分からない事には再生できません。
動画のコーデックが入っていないのに、その動画を再生しようとするのは、「日本語しか分からないのに英語の文章を解読しろ」と言われるようなものなのです。
動画ファイルを再生した際に、「音は出るけど映像が流れない!」と言ったトラブルが生じるのは、この「デコーダー」がパソコンにインストールされていない事が原因です。
この場合、
- 「音声」の「デコーダー」 → インストールされている
- 「映像」の「デコーダー」 → インストールされていない
ということになります。
また、「映像は出るけど音声が流れない!」と言った場合は、この逆です↓。
- 「音声」の「デコーダー」 → インストールされていない
- 「映像」の「デコーダー」 → インストールされている
そのような事態を防ぐために、一通りの有名なコーデックをインストールする事ができる「コーデックパック」というソフトを利用する事で、どのような動画でも再生できるようになります。
コーデックパックとして有名なソフトとしては「ffdshow」などがあります。
参考:ffdshowとは?インストールとダウンロード方法について
具体的に、今現在よく使用されるコーデックとしては
- 映像コーデック:
- H.264
- MPEG2
- 音声コーデック:
- MP3
- AAC
などがあります。
「コーデックについてもっと詳しく知りたい!」という人は、以下の記事など参考にしてみて下さい。
参考:動画コーデック(H.264・VP9・MPEG・Xvid・DivX・WMV等)の種類と違い
エンコードとMuxerの関係
「動画」の仕組みは単純で、「音声」ファイルと「映像」ファイルを一緒に再生して「動画だよ!」としているだけです。
Muxerは、「映像」と「音声」を2つに合わせて、1つのファイル(コンテナ)にするためのソフトの事を言います。
こんな感じで、Muxerは「「音声」と「映像」を1つの動画ファイルにまとめる」だけのソフトです。
そして、このように「音声」と「映像」を1つの動画にまとめる事を「Mux」と言います。
また、Muxerは使用するコンテナ(AVI、MP4など)によって異なります。
例えば、
- AVIコンテナとして動画をMuxしたいなら
→AVIコンテナ専用のMuxerが必要
- MP4コンテナとして動画をMuxしたいなら
→MP4コンテナ専用のMuxerが必要
という感じです。
Muxerとして有名なソフトとしては「MP4Box」「L-SMASH」などがあります。
まとめ
エンコード:
動画を圧縮して、映像と音声を1つにまとめること。
コーデック:
エンコードの際に使用される「圧縮のアルゴリズム」のこと。ソフトのことでもある。
Muxer:
エンコードの際に、「映像」と「音声」を1つの動画ファイルとしてまとめるソフトのこと。(エンコードの作業の中に含まれる)
このページの情報は以上です。
コメント
誤字です。
>具体的に、今現在よく使用される映像コーデックとしては「H.264」「MPEG2」、音声コーデックとしては「MP3」「ACC」などが有ります。
ACC → AAC
ご指摘ありがとうございます!助かります!
MUXとはどこの国の言葉ですか?MIXではないのですか?
多分英語です。
動画の世界では、「音声」と「映像」を結合する事を「muxする」といいます。
逆に「音声」と「映像」を分離する事を「demuxする」といいます。
muxはmultiplexerの略語っすね。
音声や映像などの信号を受け、それらを選択したりまとめたりして一つの映像として出力するプログラムを指しています。
なるほど・・・
マルチプレクサだったんだ。
勉強になります。