« 2010年01月 | メイン | 2010年03月 »

2010年02月18日

ffmpeg 最近ので libx264 にてエラー 解決

ffmpeg で以前は問題なく以下でh.264にエンコードできたのですが
ffmpeg -i a.avi -y -vcodec libx264 -s 640x480 -ar 22050 -ac 2 -ab 131072 -f mp4 -qmax 51 -qmin 10 -maxrate 1689600 -b 1689600 l.flv

ffmpegのバージョンをあげると・・・・

Duration: 00:00:08.99, start: 0.000000, bitrate: 8996 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
[libx264 @ 0x891fe70]broken ffmpeg default settings detected
[libx264 @ 0x891fe70]use an encoding preset (vpre)
Output #0, mp4, to 'l.flv':
Stream #0.0: Video: libx264, yuv420p, 640x480, q=10-51, 1689 kb/s, 90k tbn, 30 tbc
Stream #0.1: Audio: aac, 22050 Hz, 2 channels, s16, 131 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

とか 怒られる

調べてみると

-vpre プリセット のパラメータつけたらいいらしい。

プリセットの一覧は
ls -l /usr/local/share/ffmpeg/


んで
-vpre default と書いてるサイトもあったが
わしんとこは
-vpre libx264-default じゃないと動かなかった

投稿者 muuming : 18:25 | コメント (0)

2010年02月16日

日本語ドメインでリダイレクト PHP

header("Location: http://example.jp");
exit;

にてどうしても日本語ドメインを扱わないといけない場面に遭遇
http://pear.php.net/package/Net_IDNA を導入

しかしPHP5.1.6では 動かん!

調べると
Net/IDNA/php5.php のうしろの方にて
return strlen((binary)$string);

とあるが この型変換は 
http://jp.php.net/manual/ja/language.types.type-juggling.php#language.types.typecasting

バージョン足りない!

よくみると mb_string 使ってないならとかいう構文っぽいので
その ifの判断部分消して
return mb_strlen($string, '8bit');

だけ返してあげた。 とりあえずこれで動いた。

投稿者 muuming : 15:45 | コメント (0)