M4Aのしくみ
現在のiTunesは、標準のファイル形式として﹁M4A﹂を採用している。ここでは拡張子をもとにその名称で呼ぶが、フォーマットとしてはMPEG-4であり、AAC-LCやApple Lossless(ALAC)の曲データと各種メタ情報を﹁MP4コンテナ﹂に収めて1つのファイルとしている。要するに、M4Aファイルのすべてが曲データではなく、アルバムアートワークや曲名などの情報も格納された一種のバンドルを構成しているのだ。これまでiTunes Storeが販売してきたM4Aファイルには、著作権保護機構(DRM)による暗号化が施されていた。拡張子こそ「M4P」だが、フォーマットとしてはM4Aと同じと考えていい。実際、DRMによる暗号化はコンテナ全体に対してではなく、曲データに対して行われるため、曲再生以外の利用(ex. メタ情報やアートワークの取得)には制限がない。
日本のiTunes Storeでは今後、取り扱う楽曲すべてを「iTunes Plus」へシフトする。フォーマットは同じM4Aだが、曲データにDRMはなく、ビットレートも128kbpsから256kbpsへと引き上げられる。iTunes Storeで楽曲をiTunes Plusへアップグレードすると、拡張子が「M4P」から「M4A」に変更されるが、そこには上述したしくみがあるのだ。
M4Aを解析する
$ tar xzf mp4v2-trunk-r479.tar.bz2
$ cd mp4v2-trunk-r479
$ ./configure
$ make
$ sudo make install
手始めに、M4Aファイルにどのようなメタ情報が収録されているのかをチェックしてみよう。利用するコマンドは﹁mp4info﹂、以下の要領でM4A/M4Pファイルを引数として実行すればいい。
$ mp4info filename.m4a
iTunes Storeで購入したM4Pファイル(DRMあり)を対象に実行した結果が、以下に示すスクリーンショットだ。iTunesにも表示される曲名などの情報のほかに、﹁Content ID﹂や﹁iTunes Account﹂などのデータが記録されていることがわかる。
iTunes Plusへアップデート後のM4Aファイル(DRMなし)についても調べたところ、1行目ではDRMが取り除かれたこととビットレートが引き上げられたことを確認できた。Content IDなどの情報は共通だが、新たに「xid」というタグが追加されていること、引き続き購入者の情報(iTunes Account)が埋め込まれていることもわかる。つまり、DRMなしだからといってM4Aファイルをバラまいてしまうと……ということになる。