don't use temporary wav

radikoiPodで聴くためにflv->wav->m4aの変換をしているが、wavのファイルが無圧縮なので大容量のディスク領域を必要としていた。
これを何とかしたい、と調べていたのだが解決したのでメモ。


flv->wavの変換にはffmpegを、wav->m4aの変換にはneroaacencを使用しているのだが、ffmpegはstdoutに出力できないものと思い込んでいたため調査に時間がかかってしまった。
ffmpegもneroaacenc同様に"-"をファイル名として与えることでstdoutに出力できることが判ったのでパイプを使うことができた。

ffmpeg -i input.flv -f wav - | neroaacenc -ignorelength -q 0.1 -if - -of output.m4a


因みにneroaacencに同梱されているneroaacdecというのを使うとmp4->wavの変換をstdoutに出力できるので同様のことが出来るのだが、バリバリとノイズが乗ってしまい使い物にならなかった。