FFmpegの最近のブログ記事

FFmpegでH.264/AVC FullHD動画を変換しようとすると、下記が何度か出力され、セグメンテーション違反に。

[h264 @ 0x470188]AVC: Consumed only 180915 bytes instead of 180924
[h264 @ 0x470188]PAFF interlacing is not implemented
[h264 @ 0x470188]AVC: nal size 0
[h264 @ 0x470188]concealing 4080 DC, 4080 AC, 4080 MV errors

2行目、「PAFFインターレースは未実装」というのが原因。FFmpegが使用するlibavcodecのH.264デコーダがPAFFインターレースに対応していないらしい。現在使用しているFFmpegはバージョン0.4.9、libavcodecはバージョン51.40.4。
最悪、ローカルでソフトを起動して変換してWeb用にアップ、とすればいいんだけど、やはりサーバに放り込んだら自動的に変換するのがベスト。

FFmpegの現状を調べてみると、次期リリースにちゃんとPAFFデコードの実装予定が入ってる。

version <next>
(中略)
- H.264 PAFF decoding

ただ、0.4.9-pre1の時点でも実装予定だったものらしいので、次で出てくるかどうか...。

現時点で何とかするには、CoreAVCを使うといいらしい事がちらほら書いてあった。CoreAVCは元々Windows用で$15らしいけど、下記のLinux版は無償。ただ、どうもプレイヤーのパッチだけっぽい。

参考

追記:2009.4.9

バージョン0.5でPAFFデコードに対応。これで手元のHD動画も変換できる。自前のビデオライブラリー作ろうっと。

TwitThis

今読んでいる記事をTwitterに投稿

最近のブログ記事