コマンドラインにて一発でfirefox上のflash videoキャッシュを携帯電話用に変換する

追記2008/02/07:キャッシュフォルダでなく/tmpでFlash*がflvなのでこいつを持ってきた方がはやい。

$ i=100;for s in `ls -t /tmp/Flash*`; do ffmpeg -y -re -vcodec mpeg4 -mbd 2 -trell -aic -s 320x240 -deinterlace -r 29.97 -me full -g 240 -sgop -cgop -sc_threshold 1000000000 -qscale 6 -acodec aac -ac 2 -ar 44100 -ab 64 -vol 256 -title "" -author "" -copyright "" -comment "" -f 3gp MOL$i.3gp -i $s ; set i+$((i++));done


firefoxのキャッシュ中でもっとも若いflvファイルを探し、それを3gpへ変換する。
複数のflvを開いているときにはキャッシュに入らないときがあるので注意。
multimedia.orgのffmpegが必要。
ffmpegの-iオプションを最後に書いても動作するようになってたのでxargsのみですんだ。

$ find ~/.mozilla/firefox/*.default/Cache/ -exec file \{} \;|grep "Macromedia Flash Video"|sed "s/:.*//g" | xargs ls -t | head -1| xargs ffmpeg -y -re -vcodec mpeg4 -mbd 2 -trell -aic -s 320x240 -deinterlace -r 29.97 -me full -g 240 -sgop -cgop -sc_threshold 1000000000 -qscale 6 -acodec aac -ac 2 -ar 44100 -ab 64 -vol 256 -title "" -author "" -copyright "" -comment "" -f 3gp ~/Desktop/MOL100.3gp -i


ファイル名だけを得たいなら以下。

 find ~/.mozilla/firefox/*.default/Cache/ -exec file \{} \;|grep "Macromedia Flash Video"|sed "s/:.*//g" | xargs ls -t | head -1