JストリームBlog

J-Stream Blog

2021.06.10

コーデックとは? 動画配信に必要なコーデックの基礎知識

コーデック

今や動画は、インターネット、デジタル機器をはじめ、様々なシーンにおいてごく身近に利用できる存在となりました。ただ「コーデック」は陰で支える存在のため一般的にあまり知られておらず、当社のお客様からも以下のようなご質問を多数いただきます。

  • 「動画ファイルとコーデックって、いったい何がどう違うの?」
  • 「コーデックエラーと出て再生できない。もうひとつの動画は再生できたのに、なぜ?」
  • 「最新のコーデックで配信するのがおすすめなのか?」

本記事では上記のような疑問を解決することを目的に、動画配信を行う際に必要なコーデックの基礎知識を解説します。

※なお、本記事では特に記載がない限り「コーデック」という用語を「動画に関連するコーデック」という意味で使用します。
※「WMV」「FLV」はサポート終了のためインターネット動画配信では使われなくなりましたが、ローカル上での視聴には現在も使われているため記事に含めて解説しています。

1.コーデックとは? コーデックはデータの規格

コーデックとは、映像や音声データをエンコード(符号化)/デコード(復号化)するプログラムのことです。
コーデックは日常生活の様々なところで活躍している、実は身近な存在です。ビデオCD、DVD、デジタルビデオカメラ、Blu-ray、ハードディスクレコーダーといった記録媒体のほか、デジタル放送、テレビ電話、テレビ会議、ワンセグ放送、車載プレイヤーでの動画伝送等々、動画を取り扱うためには何かしらのコーデックが使われています。

動画の普及を陰で支えているコーデックには、映像と音声でいくつかの種類があります。映像では「H.264」「H.265」「MPEG-2」「WMV」など、音声では「MP3」「AAC」「WMA」などです。動画をインターネットで配信するためには、これらコーデックを用いてエンコード作業(映像をPCやスマートフォンなどで見られるように変換し、かつデータを圧縮する作業)を行う必要があります。エンコードについて詳しく知りたい方は、下記を参考になさって下さい。

2.動画ファイルとコーデックの違い

動画ファイルとコーデックの違いについて説明します。
動画ファイルというのはひとつのデータのように見えますが、実は違います。動画は「映像」と「音声」がそれぞれコーデックという規格によって映像データ、音声データとなり、動画ファイル(「WMV」「FLV」「MP4」「AVI」等)という“入れ物”にひとつにまとめられています。
映像データと音声データを同梱できる動画ファイルのことを「コンテナファイル」と言います。コンテナファイルは種類によって、映像と音声以外の情報も同梱できます(【図1】参照)。

【図1】動画ファイルと映像・音声データ(イメージ)
動画ファイルと映像・音声データのイメージ図

3.音声・映像は別々のデータとして動画ファイルに格納される

動画ファイルには、各形式(フォーマット)により格納できる映像・音声データのコーデックが決まっています(音声ファイルは、1つのコーデックが対応することが多いです)。例えば、MP4ファイルに格納できるコーデックは以下の通りです。

  • 映像コーデック:MPEG-1、MPEG-2、MPEG-4 Visual、H.264/MPEG-4 AVC、H.265など
  • 音声コーデック:AAC、HE-AAC、MP1、MP2、MP3、MPEG-4 ALS、TwinVQ、CELPなど

※MP4ファイルには、静止画像:PNG、JPEG、テキストも格納可能。

動画ファイルは、様々な機器やアプリケーションソフトで取り扱うことができますが、それぞれに機能的な特長があるため、目的に応じて形式を選択します。配信フォーマットにより動画ファイルが決まり、それに伴い映像データと音声データのコーデックも絞られてきます。ファイル作成はエンコードソフトを使って行い、ソフトにより仕様はそれぞれですが、どのソフトもたいていは複数のコーデックから選択可能です。

4.同じファイル形式でも、コーデックが違えば別モノ

「コーデックエラーと出て再生できない。もうひとつの動画は再生できたのに、なぜ?」
そんな事態が発生することがあります。考えられる原因のひとつに「格納されている映像・音声コーデックが異なる可能性」があります。同じファイル形式でも、コーデックが違えばその中身は別モノと考えましょう。

画像や文書ファイルなどと異なり、動画ファイルはファイルの拡張子を見ただけでは何のコーデックが使われているかわかりません。冒頭「コーデックとは、映像や音声データをエンコード(符号化)/デコード(復号)するプログラム」と書きました。再生に際しては、送り手がエンコードした「映像データのコーデック」「音声データのコーデック」と同じコーデックが、受け手の視聴環境にも入っている必要があります。

例えば、以下のような2つのMP4 ファイルがあったとします。

  • MP4ファイル1)映像コーデック:H.264/MPEG4-AVC、音声コーデック:AAC
  • MP4ファイル2)映像コーデック:H.265、音声コーデック:AAC

受け手の視聴環境には、H.264/MPEG4-AVC、AACのコーデックは有り、H.265 のコーデックは無かったとします。この場合、ファイル1で使われているコーデックは、ユーザーの視聴環境にも用意されているため、映像・音声ともに問題なくデコード(再生)されます。
しかし、ファイル2ではユーザーの視聴環境に映像コーデックが用意されていないため、映像はデコード(再生)されずコーデックエラーとなり、音声のみがデコード(再生)されます(【図2】参照)。

【図2】動画再生とコーデックの関係(イメージ)

動画再生とコーデックの関係イメージ図

エンコード時に使用した映像・音声コーデックが受け手の視聴環境にもあれば再生され、なければエラーとなります。こういった場合、受け手の視聴環境に入っているコーデックでエンコードし直す必要があります。

普段、多くの方は動画に関わる際にコーデックやエンコードを意識することはないかもしれません。しかし、例えば「動画を撮影する」「動画をカットして書き出す」「動画を視聴する」といったことの裏でも、コーデックやエンコードは関係しています。コーデックは普及状況なども鑑みながら採用され、「視聴できない」といった状況が起こりにくいよう配慮されています。
「最新のコーデックで配信するのがおすすめなのか?」といった疑問についても、視聴者の視聴環境、つまりコーデックの普及状況に配慮して配信すべきということになります。またコーデック選択は重要で、コーデック選択次第で動画容量や画質にも大きく差が出ます。動画配信の最適化を考えていく場合、コーデックの理解や最適なコーデック選択が重要になってきます。

以上、動画配信に必要なコーデックの基礎知識について解説しました。もう少し深くコーデックについて知りたいという方は、下記も参考になさって下さい。

なお当社では、1コンテンツからエンコードサービスを行っています。エンコードサービスでは、パソコン、スマートフォン、タブレット、フィーチャーフォン、IPTV(アクトビラ)をはじめ、様々な端末への配信に向けて幅広いコーデックに対応しており、動画素材の特徴や対象端末にあわせて適宜必要なエンコードの設定・調整を行っていますので、お気軽にご相談ください。

エンコード・編集サービスの詳しい紹介はこちら

  • このエントリーをはてなブックマークに追加

関連サービス

関連記事

PageTop
PageTop メルマガ購読申し込み