本稿で知れること
簡単な概要と仕組みくらいは知れるかな〜と思います。
概要と仕組み
いきなりざっくりですが、動画を一言で言ってしまえば「動画は映像(画像の束)+音声が合体したもの」のことです。つまり、パラパラ漫画のように大量の画像に音声をくっつけてあたかも滑らかに再生されているように見せかけているだけです。と考えたら動画がより身近に感じますね。
そして、その動画で使用される画像1枚1枚を「フレーム」と呼び、1秒間に表示されるフレーム数をフレームレート(fps (frame per second) )と言います。当然フレームレートの数値が大きければ大きいほど動画の動きは滑らかになります。これは一般論ですが、映画の場合は24fps、テレビやビデオの場合は30fpsが一般的と言われています。
コーデック
前述の通り、動画は画像の束のため全く圧縮せずに1つの映像として集約してしまうと膨大なデータサイズになってしまいます。例えば30fpsの動画で、1フレーム(1画像)が4MBの場合、たった1秒間に120MBもの膨大なデータ転送することになります。(30fps × 4MB = 120MB)
なので、デーアを圧縮することは必須なのですが、このように「データを圧縮するアルゴリズム」のことを「コーデック」と呼ぶのですね。代表的な「映像」のコーデックだと「H.264」という名前のコーデックがあったりします。
当然、音声データも同じで圧縮しないと膨大なデータになってしまうため、音声専用のコーデックを利用して音声を圧縮することになります。
以下は映像コーデックの種類になります。(今回はあくまでも動画の仕組みにフォーカスしているため、個別具体の説明は こちらのサイトがよくまとめてくれているのでご覧ください。。)
・AOMedia Video 1
・H.264/MPEG-4 AVC
・Divx
・Xvid
・MPEG-1
・MPEG-2
・MPEG-4
・VP9
・WMV9
・H.265/HEVC
・Motion JPEG
以下は音声コーデックの種類です。(同じく詳細な説明は省略。こちらのサイトをご覧ください。)
・MP3
・AAC
・WMA
・Vorbis
・AC3
・MP2
・ALAC(Apple ロスレス)
・FLAC
・TAK
・WMA lossless
・Monkey’s Audio
コンテナ
「映像データ」と「音声データ」を、あるコーデックで圧縮したから終わりかというとそんなことはなく、そのデータをまとめるコンテナ(動画形式)というものが必要になります。
当然コンテナによって機能が異なります。以下は、映像+音声が入るコンテナの種類の一覧です。(同じく詳細な説明は省略。詳しくはこちらをご覧ください。)
・AVI
・MP4
・MOV
・MPEG2-TS
・MPEG2-PS
・MKV
・WMV
・FLV
・ASF
・VOB
・WebM
・OGM
イメージ的には以下のような感じですね。
コンテナとコーデックの組み合わせ
じゃあコンテナにそれぞれ圧縮した映像データと音声データをぶち込めばいいんだね?!と思いたいですが、ここも厄介なところで、コンテナの種類によって入れれるコーデックが変わってきます。
以下はコンテナとそのコンテナで使用できるコーデックの組み合わせの一覧です。
なので、どのコンテナがどのコーデックに対応しているかを知らないと、動画作成時や編集時にエラーが発生して動画が作られない事態が起こりえます。
まとめ
今回は簡単に動画の概要と仕組みについて触れました。
次回はその動画をネット越しにどうやって視聴しているか(配信方式)について触れていきたいと思います。