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だと日本語でタグ付けが可能だった。
neroAacEnc.exeの入手
MediaCoder Audio Editionに付属のものを使ってます。
本家はNero AAC Codecです。こっちにはコマンドラインのタグエディタが含まれてるけど、未評価。
tg.exeの入手
たしかhttp://www.hydrogenaudio.org/forums/index.php?showtopic=12075ここから。
mp4のコマンドラインタグエディタには他にもありそう。