Radikaで録音したRadikoのflvをm4aに変換する

ついに番組表と予約録音が付いて最強に強まってきたRadiko録音ツールRadika

MediaCoder Audio Editionを使えばGUIでflvからMP4コンテナのHE-AACに直接変換できるんだけど、録音からiTunes同期までバッチ化するためにコマンドラインツールを探してみた。

まずはRadikaで録音したflvファイルから、ffmpegをつかってオーディオのみ無変換で引っこ抜いてみた。

ffmpeg -i <入力ファイル> -acodec copy <出力ファイル>


これだと、QuickTime Playerでは再生できるんだけど、iTunesが認識してくれない。

引っこ抜いた.m4aファイルをMediaCoderを使ってトランスコードする(ビットレートを小さくしてみた)と、iTunesに登録可能。


Radikoの音声は多少ビットレートが高めなので、iPodに取り込む時にはどうせもっと低ビットレートにトランスコードするつもり。

HE-AACエンコードするにはneroAacEnc.exeがいいらしいんだけど、neroAacEnc.exeは入力がWAVしか対応していない。

そこで、一旦ffmpegでWAVに変換することにした。

ffmpeg -y -i <入力ファイル> -vn -ac 2 -ar 44100 -f wav <出力ファイル>
neroAacEnc.exe -br 32000 -hev2 -if <入力ファイル> -of <出力ファイル>


これでも一応変換できるんだけど、一時ファイルが出来てしまうのがイマイチ。ディスクに大きなサイズのwavファイルを書き込むので、変換速度もイマイチ。

そこで、パイプを使って一時ファイルを作らない方法を探してみたら、以下の方法でイケる。

ffmpeg.exe -y -i <入力ファイル> -vn -ac 2 -ar 44100 -f wav - | neroAacEnc.exe -ignorelength -br 32000 -hev2 -if - -of <出力ファイル>

上記の例だと、ステレオのまま44.1KHzでwavに変換した後、32kbpsのHE-AAC V2ファイルに変換する。


あとはm4aのタグをコマンドプロンプトから編集できるツールを探し中。
mp4tags.exeを使ったら日本語対応していないっぽい。

tg.exeだと日本語でタグ付けが可能だった。

ffmpegの入手

形態動画変換君に付属のものでもおそらく問題無いと思うけど、「ffmpeg windows」等でググってWindows用にビルドされた.exeを入手する。

neroAacEnc.exeの入手

MediaCoder Audio Editionに付属のものを使ってます。

本家はNero AAC Codecです。こっちにはコマンドラインのタグエディタが含まれてるけど、未評価。

tg.exeの入手

たしかhttp://www.hydrogenaudio.org/forums/index.php?showtopic=12075ここから。

mp4のコマンドラインタグエディタには他にもありそう。