mora で購入した楽曲を iOS デバイスで再生できる形式に変換する

ffmpeg を使用して mora で購入した DRM フリーの mp4 ファイルから m4a ファイルを再エンコードせずに作成するメモ。

ffmpeg -i infile.mp4 -map_meta_data 0:0,s0 -acodec copy outfie.m4a

この方法では、メタデータはコピーされるものの、アルバムアートワークは失われるので注意が必要。

・追記

この方法で、iOS デバイスで再生できるのだけど、例えば、プレイリストを作成してシャッフル再生している場合、なぜか mora 購入楽曲の一部がスキップされてしまうと言う謎現象が発生した。mora のファイルが変なのか、iOS 側のバグなのか・・・。

・更に追記

多分 ffmpeg のバージョン違いによるものと思うが、上記の方法ではエラーとなる局面に遭遇した。この場合、意図的にビデオトラックを取り扱わないような指定をすることで変換できた。(この方法でもアルバムアートワークは失われるが、メタデータは引き継がれた。)

ffmpeg -i infile.mp4 -vn -acodec copy outfie.m4a

・更に更に追記 (2013/10/19)

普通のブラウザから mora を利用したのだが、ダウンロードされる楽曲ファイルの拡張子がそれまでの mp4 から m4a に変更になっていた。

mora の「ダウンロード関係のお問い合わせ」のページによれば、拡張子を m4a や m4v に変更したとのことが記載されていた。Apple 製品のユーザとしては、これは嬉しい。

・更に更に更に追記 (2013/10/19)

えー、mora で購入した、拡張子 m4a なファイルを iTunes から iOS 7 な iPhone 4S へ転送は確認できました。転送は出来るんですよ。でも iOS 7 で再生できない。

と言うわけで、やはり「更に追記」の項目の変換作業 (実体は AAC オーディオデータを抜き出して、別の m4a ファイルとして出力しているだけ) を行うと、このファイルは iOS 7 上でもちゃんと再生できた。

楽曲の AAC データ自体に問題は無いようなので、それ以外の部分で iOS 7 が認識できないファイルフォーマットとなっているような印象。Apple が悪いのか、それとも Sony が意地悪しているのかどっちだろうか。