用語集

コーデックタグとは何か

コーデックとは何か知っているかもしれませんが、Codec Tag についてはどうでしょうか。動画の Codec Tag の読み方と、そこから実際に使用されたコーデックを特定する方法を確認しましょう。

codec-tag

Codec Tag は、動画や音声ファイルの中に保存されている短いコードで、そのファイルの内容を圧縮したコーデックの名前を表します。コーデック名と同じ情報ですが、文字ではなく数値として書かれています。

コーデックタグの由来

Codec Tag は動画ファイルと音声ファイルに含まれており、特に MP4、MOV、M4A 系のファイルや、古い AVI、WAV ファイルでよく使われます。ファイルが作成されたときに、エンコードしたプログラムが自動的に書き込みます。人間が入力するものではなく、それ自体を意味のある形で編集することもできません。中身のデータと一致していなければならないラベルです。

すべてのコンテナがタグを使うわけではありません。Matroska と WebM ファイルでは、コーデックはタグではなく名前で識別されるため、これらのファイルではタグは空で、0x0000 と表示されます。

その値がどのように表示されるか

値は 16 進数で書かれた数値です。16 進数は、数字の 0~9 と文字の a~f を使って数を書く方法です。先頭についている 0x は、それが 16 進数であることを示すマーカーにすぎません。代表的な値には 0x31637661、0x7634706d、0x0000 などがあります。

これらの数値のほとんどは FOURCC と呼ばれる 4 文字コードです。Microsoft が動画ストリームにラベルを付けるために導入したもので、4 つの文字や数字を 1 つの数値にまとめる方法です。この方式は現在も MP4 系のファイルで使われています。手作業で元の文字列に戻すこともできます。数値を 16 進数 2 桁ずつ 4 つの組に分け、それぞれを 1 文字として読み取ります。

  • 0x31 = 1
  • 0x63 = c
  • 0x76 = v
  • 0x61 = a

この 4 文字は逆順で保存されているため、0x31637661 は逆から読むと avc1 になり、MP4 ファイル内の H.264 動画に使われるタグです。同じように 0x7634706d に対して行うと v、4、p、m となり、逆から読むと mp4v になります。多くのレポートでは、この計算を省くために、数値の隣の行に人間が読める形式も併記してくれます。

AVI と WAV ファイル内の音声については例外です。ここではタグは 4 文字コードではなく、小さな Microsoft 音声フォーマット番号なので、0x0001 のような短い値が使われます。これは非圧縮の PCM 音声を意味します。

それが重要な理由

タグは、プレーヤーやデバイスがファイルを開くときに最初に確認する情報のひとつであり、互換性に関わるフィールドです。同じ動画データでも、どのコンテナに入れるかによって異なるタグが付けられることがあり、プレーヤーがそのうち 1 つしか認識しない場合は、適切なデコーダーがインストールされていてもファイルを再生しません。そのため、再生できるファイルとできないファイルの Codec Tag を比較することは、特にテレビ、カーオーディオなどの専用機器で再生トラブルの原因を絞り込む早い方法になります。

また、実際にどんなデータなのかを確認する手がかりにもなります。ファイル名は自由に付けられますが、タグはエンコーダーが書き込むもので、実際の内容を表します。タグには、あなた自身や場所、デバイスに関する情報は一切含まれません。

メタキー