iOS の CloudBeats で音楽を聴くようになったのですが、radiko.jp で録音した m4a ファイルが CloudBeats で聴けなかったので調べてみました。
ファイルの情報の確認
もとの aac ファイルの情報は次の通りでした。
Input #0, aac, from 'a.aac':
Duration: 01:46:17.49, bitrate: 54 kb/s
Stream #0:0: Audio: aac (HE-AAC), 48000 Hz, stereo, fltp, 54 kb/s
aac ファイルから MP4Box で作った m4a ファイルの情報は次の通りでした。
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'b.m4a':
Metadata:
major_brand : M4A
minor_version : 1
compatible_brands: isomM4A mp42
creation_time : 2017-12-30T05:33:57.000000Z
Duration: 01:59:59.57, start: 0.000000, bitrate: 47 kb/s
Stream #0:0(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 46 kb/s (default)
Metadata:
creation_time : 2017-12-30T05:33:57.000000Z
handler_name : aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1build1
m4a ファイルは CloudBeats でも OneDrive でも聞けなかったのですが、aac ファイルは CloudBeats でも OneDrive でも聞けました。 少し不思議です。 macOS の iTunes では aac ファイルは聞けなかったのに…
でも、m4a の形式でファイルを保存しておきたいので、もう少し調べてみます。
MP4Box を使わずに、FFmpeg で m4a ファイルを作成する
FFmpeg は拡張子によって柔軟にファイルを作成してくれたはずなので、m4a の拡張子でファイルを作成してみました。
$ ffmpeg -i a.aac -c copy c.m4a
ffmpeg version N-89290-g5f67073b4c-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
…略…
[aac @ 0x539ad60] Estimating duration from bitrate, this may be inaccurate
Input #0, aac, from 'a.aac':
Duration: 01:46:17.49, bitrate: 54 kb/s
Stream #0:0: Audio: aac (HE-AAC), 48000 Hz, stereo, fltp, 54 kb/s
Output #0, ipod, to 'c.m4a':
Metadata:
encoder : Lavf58.2.103
Stream #0:0: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 54 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 41692kB time=01:59:59.53 bitrate= 47.4kbits/s speed=9.21e+03x
video:0kB audio:42185kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
作成できました。
できたファイルの情報は次の通りです。
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf58.2.103
Duration: 01:59:59.57, start: 0.000000, bitrate: 47 kb/s
Stream #0:0(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 46 kb/s (default)
Metadata:
handler_name : SoundHandler
minor_version、compatible_brands、encoder あたりが異なっています。 下の方の二つ目の Metadata も異なりますけど、直接的に影響はないと思うのですが…
これを CloudBeats で再生すると…
聞けました!
OneDrive でも聞くことができました。
終わり
原因はよくわからないですが、聞けるようになったので良かったです。 MP4Box を使う必要もなくなり、FFmpeg だけで変換できるようになりました。