今回は「MPEG-4」について。動画や音楽のファイルとして身近な存在だが、その仕様はにわかに説明困難なほど入り組んでいる。音楽配信サイト「Mora」がDRMを撤廃というニュースを受け、ここではMPEG-4のサウンドファイルフォーマットとしての側面に切り込みつつ、iTunesやiPhoneで楽しむ方法を探ってみよう。

What's MPEPG-4?

MPEG-4といえば、動画や音楽に利用されているフォーマット……であることは確かだが、規格として定められた範囲は広い。国際標準規格(ISO 14496)を見ると、動画や静止画の同期などシステム面を決めるISO 14496-1、ビデオコーデックを定義したISO 14496-2、AAC(AAC-LC)を含むオーディオコーデックを定めたISO 14496-3などの複数の下位規格が存在し、それぞれ独立して運用されている。

その理解に欠かせないのは「コンテナ」という概念だ。MPEG-4は一種の容器であり、複数あるビデオ/オーディオコーデックの中から必要なものを選び、そこに格納する。コンテンツの実体部分であるビデオ/オーディオだけでなく、字幕や曲情報、歌詞やアルバムアートワークといったメタデータも収録できる。

iTunesの標準ファイル形式「M4A」も、MPEG-4の一形態だ。AACやApple Lossless(ALAC)のサウンドデータと各種メタ情報をコンテナに収め、1つのファイルにまとめている。OS XにMPEG-4を解析する機能はないが、この連載の第36回で紹介した「mp4v2」を利用すれば可能だ。

mp4v2に含まれる「mp4info」コマンドを利用し、MPEG-4ファイル(M4A)の内容をダンプしたところ。さまざまなメタデータの存在がわかる

Moraの曲はそのままiTunesで聴ける!

なぜMPEG-4コンテナについて延々書いたかというと、10/1にスタートした「Mora」のDRMフリー化に関係するからだ(関連記事)。Moraは同日からDRMを廃止するとともに、配信形式をAAC 320kbpsに一本化した。これはiTunes Plus(AAC 256kbps)を上回るもので、オーディオファンとしては素直に歓迎したい。

10/1にリニューアルされた「Mora」は、曲フォーマットにDRMなしのAACを採用。購入手続きはMacでも問題なし

10/1日以降にサイトから購入した曲を調べたところ、拡張子は「MP4」。iTunesのサウンドファイルは拡張子に「M4A」を要求するので、そのままでは再生できないが、「M4A」に変更したところ問題なくライブラリにインポート成功、アルバムアートワークやメタ情報も含めてしっかり再生できた。拡張子の問題はAutomatorやシェルスクリプトで一括処理すればいいだけのこと、「DRMフリー化以降のMoraの曲はiTunesでそのまま聴ける」と言って差し支えないだろう。

Moraでダウンロードした曲は、拡張子を「.m4a」に変更するだけで、iTunesライブラリへインポートできるようになる

ということは、iTunes StoreとMoraの両方で販売されている曲/アルバムは完全に競合する。筆者の場合、音質(AAC 128kbps、いまだiTunes Plus対応せず)もDRMありな点も不満だったiTunes Storeで購入したアルバムが、Moraにアップされていたことを発見。試しにうち1曲を購入してみると、やはり128kbpsと320kbpsの音質差は歴然で、今後両サイトが競合する場合はMoraを優先させることに決めた。

同じアルバムの曲をiTunesに取り込み、iTunes Store版(左)とMora版(右)の詳細情報を確認。ビットレートの差は音質に直結するだけに、DRMの縛りがなければMoraのほうが有利になる

iOSデバイスで聴けない? 問題を解消

iTunesで聴くまでは順調だったMoraの曲だが、大問題が発生。iPhoneへ転送したところ、再生できないことが判明したのだ。DRMフリーなだけに、再エンコード(iTunesで「iPod/iPhoneを作成」)すれば聴けるが、それでは音質が低下する。再エンコードせずに聴いてこそ、ビットレート320kbpsというMoraのよさが生きてくるのだ。

その原因だが、メタデータにあるという仮説を立てた。iTunesで聴くかぎりふつうに再生されるので、MPEG-4コンテナのAAC部分は正常なはず。ということはAAC以外のコンテナ内の構造やデータに問題があるのでは、ということだ。

iTunesでCDから取り込んだ曲とMoraからダウンロードした曲を、フリーのMPEG-4分析ツール集「mp4v2」に収録のコマンドで比較したところ、「moov.meta」というatom(データブロックのこと)を発見。これはMora独特のatomらしく、iTunes Storeで購入した曲にはない。メタデータは消えてしまうかもしれないが、ひょっとするとこれを消せば再生できるかも? 最悪手入力すればいいだけのこと……と腹をくくり、MPEG-4のメタデータ編集用コマンド「AtomicParsley」で問題のatomを削除することにした。

行った作業は、AtomicParsleyで件のatom(moov.meta)を削除し、生成されたファイルをiTunesライブラリへインポートしただけ。作業対象は1曲だけだったが、これがアルバム単位ともなると、ひと工夫必要になりそうだ。

AtomicParsleyのインストール

$ unzip AtomicParsley-MacOSX-0.9.0.zip
$ cd AtomicParsley-MacOSX-0.9.0
$ sudo cp AtomicParsley /usr/local/bin
Password:

AtomicParsleyの実行例

$ AtomicParsley Song.m4a --manualAtomRemove "moov.meta" --out Out.m4a

その結果は……BINGO! iPhone 5で試したかぎりでは、曲が支障なく再生されたことはもちろん、曲名やアーティスト名、アルバムアートカバーの欠落も発生しなかった。少々手間はかかるが、MoraはiTunesでもiOSデバイスでもOK、ということを報告しておこう。

mp4v2収録のコマンドを使い、Moraで購入した曲をダンプしたところ、見慣れぬatom「moov.meta」を発見。これをAtomicParsleyで削除すると……

moov.metaを削除した曲をiPhoneに転送すると、無事再生できた。これでMoraの高音質AACを存分に楽しめる