・動画関係のメモ
ほとんど個人的な備忘録。間違っているところがあれば指摘よろしく。
mencoder hoge.AVI -o hoge.mpeg -oac lavc -ovc lavc -lavcopts acodec=ac3 \ -lavcopts vcodec=mpeg2video -ofps 30000/1001 -of mpeg -mpegopts format=dvd:tsaf \ -srate 48000 -af lavcresample=48000 -vf scale=720:480
順番がどう影響するかとかは確認してないけど,
-oac lavc -lavcopts acodec=ac3 -srate 48000 -af lavcresample=48000
が音声を適切なレートで ac3 化(liba52経由)する指定
-oav lavc -lavcopts vcodec=mpeg2video -ofps 30000/1001 -of mpeg \ -mpegopts format=dvd:tsaf -vf scale=720:480
が動画を mpeg2 形式,29.97fps で,720x480 に変換する指定らしい.
mplayer の -vo オプションで動画を複数枚の jpeg 画像に変換
$ mplayer fixed_camera.avi -vo jpeg
生成された jpeg 画像を水増しするためのシェルスクリプトを作る perl スクリプト
$ perl conv.pl
conv.pl はこんな感じのコード
opendir(DIR, ".") || die "can't open directory"; @FILES=grep(!/^\.\.?}$/, readdir(DIR)); closedir(DIR); $c = 0; foreach $file (@FILES) { if ($file =~ /jpg/) { for ($i = 0; $i < 6; $i++) { printf(" cp %s dt_%04d.jpg \n", $file, $c++); } } }
この結果,
cp 00000001.jpg dt_0000.jpg cp 00000001.jpg dt_0001.jpg cp 00000001.jpg dt_0002.jpg cp 00000001.jpg dt_0003.jpg cp 00000001.jpg dt_0004.jpg cp 00000001.jpg dt_0005.jpg cp 00000002.jpg dt_0006.jpg cp 00000002.jpg dt_0007.jpg
こんな感じの シェルスクリプトができる(この例では,1枚の画像を6枚に水増し)ので, それを実行して必要な画像ファイルを生成する
新たに生成した画像ファイルを別のディレクトリに移して,mencoder で mpeg2 化
$ mencoder mf://\*.jpg -mf fps=24000/1001:type=jpg -ovc lavc \ -lavcopts vcodec=mpeg2video -of mpeg -mpegopts format=dvd:tsaf -o output.mpeg
生成された mpeg2 ファイルの確認
$ file output.mpeg output.mpeg: MPEG sequence, v2, program multiplex
kojima@xeon[~]% ffmpeg -target ntsc-dvd -i honpen_chara.flv test.mpeg FFmpeg version SVN-r8507, Copyright (c) 2000-2007 Fabrice Bellard, et al. configuration: --prefix=/usr --mandir=${prefix}/share/man -enable-shared --enable-pthreads --enable-gpl --enable-pp --enable-liba52 --enable-liba52bin --enable-libdts --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-x264 --enable-xvid libavutil version: 49.4.0 libavcodec version: 51.40.0 libavformat version: 51.11.0 built on Mar 25 2007 22:34:45, gcc: 3.4.3 Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001) Input #0, flv, from 'honpen_chara.flv': Duration: 00:03:43.0, start: 0.000000, bitrate: 64 kb/s Stream #0.0: Video: flv, yuv420p, 320x240, 29.97 fps(r) Stream #0.1: Audio: mp3, 22050 Hz, mono, 64 kb/s Output #0, mpeg, to 'test.mpeg': Stream #0.0: Video: mpeg2video, yuv420p, 320x240, q=2-31, 6000 kb/s, 29.97 fps(c) Stream #0.1: Audio: ac3, 22050 Hz, mono, 448 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
みたいな感じでエラーになるんですよね。たぶん、bit_rate とかの変換オプションを指定すればなんとかなりそうな気はしているんだけど、google とかで 調べても ffmpeg のビットレート変換オプションとかはよく分からなかったので、とりあえず手元では mencoder をつかってみた、というのが正直なところ。 最近の ffmpeg だと何故か liba52 をちゃんと使えないため ac3 なコーデックにエンコードできないような問題もあったりするので、ffmpeg ではまるより は、とりあえずmencoderで変換しておこうか、、というところ -- kojima 2007-12-21 (金) 21:31:54
07/12/26 10:48:53 [28720:karma@XXX] Firefox 3 07/12/26 19:01:38 [28721:uetake-s813@XXX] Re: Firefox 3 07/12/26 19:33:10 [28722:m_kaneko@XXX] 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 15:41:33 [28723:karma@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 16:02:30 [28724:kinneko@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 16:33:55 [28725:mkishida@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 16:47:22 [28726:nagura-s@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 17:17:35 [28727:m_kaneko@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 18:12:27 [28728:mkishida@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 18:46:09 [28729:karma@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/27 19:50:02 [28730:m_kaneko@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/28 03:02:44 [28731:jado@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか? 07/12/28 09:21:03 [28732:mkishida@XXX] Re: 新製品のご紹介 ご意見を聞かせていただけませんでしょうか?
Plamoではないけど、同じサーバで動かしているMLへの投稿は配送されているので、特にサーバトラブルというわけではなさそう。-- kojima 2007-12-31 (月) 14:58:48