ウェブ上の映像の保存についてのメモ。
# mplayer -vo mpegpes -ao mpegpes URL # ffmpeg -sameq -i grab.mpg output.mpg
で、たぶん特に情報をロスせずに保存できると思う。mplayerは画面に出力しなければコマ落ちさせることはないみたいだ。ffmpegは-sameqでソースと同じクオリティになるらしい。本当かな。MPEG-PESというのはビデオカードでMPEGのデコードをするときのためのデータフォーマットで、mplayerはビデオカードに書く代わりにファイルに書き出してくれるらしい。普通のMPEGプレイヤーはMPEG-PESを入力にはできないみたいだけど、mplayerとffmpegは理解できるみたいだ。ffmpegで普通のMPEGに変換&そこそこの圧縮ができる。もちろん-sameqなどつけなければもっと小さくなる。
で、wmaファイルをMP3ファイルに変換するのもmplayerでできる。
# mplayer -ao pcm input.wma -aofile temp.wav # lame temp.wav output.mp3 # rm temp.wav
mplayerはなんでフィルタにならないんだ。…別にいいけど。
(追記) 2004-04-06 22:31
フィルタか…名前つきFIFO(「名前つきパイプ」だっけ? どっちでもいいや)でできないかな。ディスク容量が足りないときとかに。
# mkfifo tmpfifo # mplayer -vo mpegpes:tmpfifo -ao mpegpes URL & # ffmpeg -sameq -i tmpfifo outfile.mpg # rm tmpfifo
# mkfifo tmpfifo # mplayer -ao pcm input.wma -aofile tmpfifo & # lame tmpfifo output.mp3 # rm tmpfifo
…手間、増えてるし(笑)
(追記) 2004-04-06 22:36
なんかうろ覚えなんだけど、名前つきパイプって出力側の処理から書いたほうがいいんだっけ? ほとんど使わないから記憶に残ってないな、mkfifo。