動画関連でコーデックっていう言葉をよく目にします。
知らないから調べてみるわけです。
コーデック (Codec) は、符号化方式を使ってデータのエンコード(符号化)とデコード(復号)を双方向にできる装置やソフトウェアなどのこと。 また、そのためのアルゴリズムを指す用語としても使われている。
引用:wikipedia
まあ初心者には意味不明ですよね。
符号化とかアルゴリズムとか言われても、ちょっとわかりにくいです。
なので、かなりざっくりですが、解説してみます。
コーデックって結局何?
コーデックとは
正確には、圧縮展開だけではなかったりもするのですが、難しく考えてもわからなくなるだけなので、かなりざっくりです。
映像には動画コーデック、音声には音声コーデックがあります。
例えば、動画コーデックには「H.264」や「VP9」など色々な種類がありますが、「H.264にはH.264の圧縮方法」が「VP9にはVP9の圧縮方法」があります。
そして、「H.264」という方法で圧縮された映像は「H.264」という方法で展開しないと再生できません。
コーデックとコンテナ・ファイルフォーマットの違い
色んな種類があるのも混乱の理由ですが、動画ファイルには、コーデックの他にも「コンテナ」や「ファイルフォーマット」というものが絡んできます。
これが混乱に拍車をかけます。
1つ1つ見ていきましょう。
ファイルフォーマットとは
ファイルフォーマットとは
例:「MP4」や「AVI」など
コンテナとは
コンテナとは
コンテナには複数のデータを入れることができます。
「コンテナ」は日本語に訳すと、「容器」や「入れ物」という意味があります。
動画で使われるコンテナは、正確には「コンテナフォーマット」と言い、要は映像データや音声データを入れる「容器」です。
動画には映像と音声がありますが、映像データと音声データは別々になっています。
これらの複数のデータを1つのコンテナ(容器)に一緒に入れることで、映像と音声がある1つの動画となります。
他にも字幕なんかも入れられたりします。
コンテナとコーデックの関係性の例
拡張子にも注意
そして、ここでさらに混乱の種となるものが出てきます。
それが「拡張子」です。
拡張子とは
例
画像:「.jpg」「.png」など
動画:「.avi」「.mp4」「.wmv」など
テキスト:「.txt」
何のファイルなのかを判別するためについていますが、問題なのが「1つのフォーマットに対して、複数の拡張子が使えることがある」ということです。
拡張子の例
このように、ファイルの見た目が「○○.mp4」だったとしても、その中に入っているデータが何のコーデックで圧縮されているのかわからなかったり、1つのフォーマットに複数の拡張子が対応していたりするので、混乱してしまいます。
さらには、同じ名前でも状況によって、「ファイルフォーマット」のことを指していたり、「コーデック」のことを指していたりする事があるので、余計に意味が分からなくなったりします。
コンテナに入れられるコーデックは決まっている
コンテナの中に各コーデックで圧縮されたデータが入れられている。というのはわかりました。
ですが、「このコンテナ(容器)の中には、このコーデック(方法)で圧縮したデータじゃないと入れられません。」
みたいに、各コンテナと、それに入れることができるコーデックは決まっています。
各コンテナとコーデックの組み合わせ、対応する拡張子
コーデック、コンテナ、拡張子、どれも色んな種類があります。
各コンテナと、それに入れられるコーデック、対応する拡張子を見ていきましょう。
AVI
AVIコンテナ
入れられるコーデックと対応する拡張子
動画コーデック |
---|
H.264、MPEG-4、Divx、Xvid、MPEG-1、MPEG-2、H.263 WMV、MotionJPEG、FLV、Huffyuv、Theoraなど |
音声コーデック |
---|
AAC、MP3、リニアPCM、AC-3、FLAC、WMAなど |
拡張子 |
---|
.avi |
MP4
MP4
動画コーデック |
---|
H.264、H.265、MPEG-4、Divx,Xvid、MPEG-1、MPEG-2など |
音声コーデック |
---|
AAC、MP3、MPEG-4 ALSなど |
拡張子 |
---|
.mp4、.m4a、 .m4p、 .m4b、 .m4r、 .m4v |
MOV
MOVコンテナ
動画コーデック |
---|
H.264、MPEG-4、Motion JPEGなど |
音声コーデック |
---|
AAC、MP3など |
拡張子 |
---|
.mov、.qt |
ASF
ASF
動画コーデック |
---|
MPEG-4、wmvなど |
音声コーデック |
---|
LPCM、MP3、wmaなど |
拡張子 |
---|
.asf、.wma、.wmv、.asx、.wvx、.wax |
FLV
FLV
動画コーデック |
---|
H.264、H.263、VP6など |
音声コーデック |
---|
MP3、AAC、ADPCM、LPCM、Speexなど |
拡張子 |
---|
.mp4、.m4a、 .m4p、 .m4b、 .m4r、 .m4v |
F4V
F4V
動画コーデック |
---|
H.264 |
音声コーデック |
---|
AAC、MP3 |
拡張子 |
---|
.f4v、.f4p、.f4a、.f4b |
Matroska(MKV)
MKV
動画コーデック |
---|
H.264、MPEG-4、Divx、Xvid、MPEG-1、MPEG-2 Theora、Motion JPEG、VP8、WMvなど |
音声コーデック |
---|
AAC、AC-3、MP3、PCM、FLAC Vorbis、WMAなど |
拡張子 |
---|
.mkv、.mka、 .mks、 .mk3d |
MPEG-2 TS
MPEG-2 TS
動画コーデック |
---|
H.264、MPEG-4、MPEG-1、MPEG-2など |
音声コーデック |
---|
AAC、MP3、AC-3、LPCM、MPEG1/2 Layer-Ⅱなど |
拡張子 |
---|
.mts、 .ts、 .m2ts、 .m2t、 .m4v |
MPEG-2 PS
MPEG-2 PS
動画コーデック |
---|
MPEG-1、MPEG-2など |
音声コーデック |
---|
AC3、LPCM、MPEG1/2 Layer-Ⅱなど |
拡張子 |
---|
.mpg、 .m2p、 .m4b、 .m2ps |
VOB
VOB
動画コーデック |
---|
MPEG-1、MPEG-2 |
音声コーデック |
---|
、PCM、AC-3、MP2など |
拡張子 |
---|
.vob、.mpg、.mpeg |
OGG
OGG
動画コーデック |
---|
Theora、Diracなど |
音声コーデック |
---|
Vorbis、Speex、FLACなど |
拡張子 |
---|
.ogg、.ogx、 .oga、 .ogx |
OGM
OGM
動画コーデック |
---|
Divx、Xvid |
音声コーデック |
---|
Vorbis、AAC、MP3、LPCMなど |
拡張子 |
---|
.mp4、.m4a、 .m4p、 .m4b、 .m4r、 .m4v |
なんでコーデックで圧縮する必要があるの?
なんでわざわざ圧縮する必要があるのか見ていきましょう。
動画はよく「パラパラマンガ」で例えられます。
静止画がたくさん集まって映像となります。
下のものはgifなんですが、18枚の静止画を連続して再生することで、「緑色の棒が倒れる」映像に見えます。
1 | 2 | 3 | 4 | 5 |
途中省略 | ||||
14 | 15 | 16 | 17 | 18 |
これはたった18枚ですが、実際の動画ではもっと膨大な数の静止画から出来ています。
だから全体のファイルのサイズも、とても大きいものになってしまいます。
もし1つの動画ファイルが500GBとかだったら嫌ですよね?
だから圧縮して小さくするのです。