コンテナとコーデック
動画のトランスコードシステムを開発する場合にやっかいなのが、コンテナとコーデックの関係です。
例えば、Aviというコンテナ形式があります。
コンテナ形式というのは、拡張子だと思ってもらって結構です。
で、ある動画ファイルがあって、123.aviと、qbc.aviというふたつがまったく同じ方法でトランスコードできるか、というとそれがそうはいかないんです。
問題になるのは、コンテナに内包される動画のコーデック。
これは、コンテナを350mlのアルミ缶、コーデックを飲み物の種類、と考えてもらえばわかりやすいです。
同じ外見の350mlのアルミ缶(aviというコンテナ)でも、その中身がコーラなのか、ビールなのか、はたまた水なのか、は缶に詰めた人で無い限りは、缶をあけてみないとわかりません。
ビデオカメラで撮影した動画ファイルは、拡張子が同じaviであっても、上記のように中身が違うということがよくあります。
ですので、トランスコードシステム開発時は、この点を検討して開発をしないとならないのです。