MacPortsのffmpegでPSP用に動画変換
MacPortsでffmpegをbuildしました。やりたかった事のもう一つに、PSP用に動画を変換したいと言う事があります。
やりたいのは、PSPのフルサイズ480×272の動画作成です。成功しましたが、その結果は最後に書きます。
これが、最初の内はうまく行かなかったです。libx264を指定すれば、H.264を使ってくれるはずなのですが、次のエラーが出て、変換出来ません。
Error while opening codec for output stream #0.0 – maybe incorrect parameters such as bit_rate, rate, width or height
色々探し回って、やっと見つけたのが、-vpre defaultを付ければ良いと言う事です。ありがとうございます。
このオプションで、エラーは出なくなりました。でも、PSPに持って行くと、「非対応データ」になってしまいます。
-vpre defaultの設定が、PSPで再生出来る動画の形式に合っていないようです。
PSPで再生出来る動画の形式については、次の二つのページがわかりやすいと思います。まとめていただいて、ありがとうございます。
どちらも、 PSP™ (PlayStation®Portable) RSS チャンネル向けコンテンツ作成ガイドライン(PDFへの直リンクです)を参考にされているようです。
更に色々検索していて、見つけたのが次のページです。ありがとうございます。
このページの情報を元に、色々試してみました。そして、遂に成功しました。
自分用にDVDをPSPで見たかったので、DVD用のパラメータ(引数)を使いました。ただ、パラメータの設定が長くて大変です。先ほどの、-vpreの設定は、/opt/local/share/ffmpegに保存されています(MacPortsの場合)。ここに、基本的な設定ファイルを置けば良さそうでした。libx264-psp.ffpresetと言う名前で、次の内容を保存しておきます。
bufsize=4000k coder=1 deblockalpha=0 deblockbeta=0 flags=bitexact g=250 keyint_min=25 level=30 maxrate=4000k me_range=21 partitions=partp8x8+partb8x8 qcomp=0.60 qmax=35 qmin=7 rc_eq=blurCplx^(1-qComp) refs=3 sc_threshold=40 subq=6
私は、パラメータの中の意味を理解していないのですが、私が変換した限りでは大丈夫でした。
この設定を使うように、cshスクリプトを書くと、次のような感じになります。ビデオ変換とサムネイル画像の作成をしています。
#!/bin/csh set infile="my.vob" set outfile="my.mp4" set thmfile="my.thm" set yn="-y" set crop="" set size="480x272" set aspect="16:9" set brate="768k" ffmpeg $yn -i "$infile" -vcodec libx264 -vpre psp $crop -s $size -aspect $aspect -b $brate ¥ -acodec libfaac -ab 128k -ac 2 -ar 48000 "$outfile" ffmpeg $yn -i "$outfile" -f image2 -ss 5 -vframes 1 -s 160x120 -an "$thmfile"
一度変数に設定しているのは、他のスクリプトで使いやすくするためです。
ダウンロードしたFLVファイルに対して、ffmpegを実行するには、次のようにします。libx264-psp.ffpresetは設定済みとします。オーディオのビットレートに対しては過剰な設定なのですが、この設定にしておけば、取り合えず大丈夫そうです。
$ ffmpeg -i video.flv -vcodec libx264 -vpre psp -s 480x272 -b 384k ¥ > -acodec libfaac -ab 128k -ac 2 -ar 48000 video.mp4
上記のcshスクリプトの、size, aspect, brateを変えた物を作っておく方が、便利だと思います。
なお、変換した動画は、PSPのメモリカードの、VIDEOフォルダに入れておきます。ディレクトリを作って、その中に入れても大丈夫です。この使い方をする場合、-f pspを設定しなくても大丈夫です。
ディスカッション
PSP新発見
何気にはまってるPSP。インターネットには沢山のPSPに関連したブログやHPがあり、つくづく見るほうもどれを見ていいか分かりません。 ブログなんかだいぶ前に書かれたもので今参考になるのかなと思いますが、それでも見てしまいます。MacPortsのffmpegでPSP用に動画変換: プラスα空間自分用にDVDをPSPで見たかったので、DVD用のパラメータ(引数)を使いました。ただ、パラメータの設定が長くて大変です。先ほどの、-vpreの設定は、/opt/local/share/ffmpegに保存されて…