25. Apr. 2005 (Mon)

DivXでマルチパスモードが使えない場合

[追記 divx.logは使い回しちゃいけないらしいです。詳細はGorryセソセイのトラックバック参照]


(…ここから後半)

gorryセソセイの手順書によるとDivXのプロファイルを無効にすれば


  • 1-pass
  • 1-pass quality-based
  • Multipass, 1st pass
  • Multipass, nth pass

が選択できるようになる。特に4つ目のnth passは可変ビットレートによりムービーのサイズを押さえつつある程度の品質を確保できるのでありがたい。

▼divx.log
しかし、DivX(ここでは5.1.2)のエンコーダがなぜかエンコードに失敗することがある。理由はマルチパスのデータ保存に用いられるdivx.logファイルが壊れてたり、寸法が足りなかったりするからだ。

これを解決するには、divx.logファイルを正しく指定して、対象ムービーを上記4つのモードで上から順番に一回づつエンコードしてやれば高確率で成功する。どうも4つ全部やらないと成功率が下がるようだ。

▼divx.logファイルの使いまわし
で、一回成功すれば同じようなムービーであれば、連続してMultipass nth passモードでエンコードできる。たまに失敗するけど。失敗したらまた1-passからやり直し。

これでは効率が悪すぎるので、すばやく4つのモードを通して使えるdivx.logファイルを生成させよう。と思って、2分ぐらいのムービーを対象に4つのモードでエンコードしてみた。
ところがそのまま別のムービーをエンコードすると、頭の2分でエンコードが終わってしまう。どうも、divx.logファイルを生成するのに使ったムービーの長さに依存してしまうようだ。

それならば、ということでたっぷり1時間のムービーをやたらと高ビットレートで4通り圧縮してみた。
で、そこで生成されたdivx.logファイルは別に保存しておいて、何かトラブルがあったらそこからコピーして使うことにする。30分ぐらいのムービーしか圧縮しないのであれば溢れる心配は無いし、トラブっても1-passからやりなおさなくていいので効率的だ。

▼うーん
これはエンコードに使ったツールではなくてエンコーダ自身の問題なので、そのへんで売ってるDivX化ソフトでも発生する問題だと思うんだけど、どうやって回避してるんだろう…

▼ちなみに
TMPGEncで圧縮してavistrainerで圧縮というのもいいと思うけど、わしはTMPEGEnc使わずに
VFAPI Reader Codec変換を使ってVirtualDubで圧縮してます。理由はavistrainerを通したか通してないかよく覚えていないファイルの発生を防ぐため。

_ Posted by AoVA at 2005年04月25日 22:00 _ [an error occurred while processing this directive]

» divx.log from Navigation Log - なびろぐ -
divx.log は使い回しできません。だってあれは「ある映像を指定パラメータで圧縮プロセスを通したときの結果値のログ」、言い換えると、各シーンごとの「入力画... [続きを読む]

Tracked on 2005年04月27日 19:03
[ひとこと]

Save?

Apple Store(Japan)