wmvから音だけ抜く時はとりあえずFFmpegで分離しよう
最近ネトラジはなぜか静止画像1枚くっつけてwmvとかにするのが流行りらしくて、iPodとかに入れるときは全く持って不要。
なので、分離しようとか思っていつも通りMPlayerとかでやろうと色々試行錯誤してたら、こんな感じで音声だけ抜き出してデコードできる事がわかった。
mplayer hoge.wmv -vc null -vo null -ao pcm:file=hoge.wav
-vo nullだけだと、デコードするけど出力しないというベンチマーク用の技らしいのでちゃんと-vc nullしないとダメ。
でも、同じくらいの尺のwmaをデコードしたときより妙に時間がかかるし、45分くらいの番組なのに30分くらいで切れてた。
仕方が無いので、試しにFFmpegで動画と音声を分離した後、デコードしてみた。
ffmpeg -i hoge.wmv -vn -acodec copy fuga.wma mplayer fuga.wma -ao pcm:file=nyuru.wav
こうすると、なぜかMPlayer単体で分離してデコードするよりも数倍は速くなった。ちゃんと45分のファイルとして認識もされる。
ファイルが壊れたのはモノによると思うけど、とりあえずFFmpegで分離した方がよさそう。
今日のまとめ
wmvから音だけ抜く時はとりあえずFFmpegで分離しよう。(タイトル)
for i in *.wmv do ffmpeg -i $i -vn -acodec copy $i.wma mplayer $i.wma -ao pcm:file=$i.wav ffmpeg -i $i.wav -acodec libmp3lame -ab 96k $i.mp3 rm $i.wma $i.wav done
こんな感じで、無駄に静止画像1枚だけ張り付いてるネトラジも簡単にmp3に変換できて、iPodに入れることが出来ますね。
おめでとうございます。ありがとうございます。