Site hosted by Angelfire.com: Build your free website today!

9.990 fps の動画を 29.970 fps や 119.980 fps へ変換

もちろん映像を格納するコンテナが Matroska の様に 可変フレームレートをサポートしていれば不要らしいです。 その場合の参考サイトは 2003年9月6日 vFre 可変フレームレート: 24/30fps混合ソースをそのまま結合 ですかね。 関係ありませんが、 私は二・三日前まで OGM も可変のままで大丈夫だと思ってました (苦笑

  1. AVI60 (24/30fps→60/120fps変換ツール) に null フレームを挿入して貰い、29.970 fps へと水増しする。
    > avi60.exe 9.990.avi /c2
    AVI60.exe  2002/07/19ver.
    -------------------------
    
    InputFile  :9.990.avi
    OutputFile :9.990_custom.avi
    
    TotalFrame : 113
    FrameSize  : 640x480
    SrcFPS     : 9.990 (10000000/1001001)
    Pattern    : *..
    DstFPS     : 9.990 (10000000/1001001)
    
    Frame 113/113 (100%)
    Complete.
    		
    avi60.exe の出力通り、この段階で生成されたファイル (9.990_custom.avi) の AVI Head 内はまだ 9.990 fps のままの様です。
  2. AVI Head の内容を書き換えて 29.970 fps にする。
    適当な Binary Editer で 以下の様に書き換えた 29.970.avi を作成しました。
    > dump 9.990_custom.avi
      Addr     0 1  2 3  4 5  6 7  8 9  A B  C D  E F 0 2 4 6 8 A C E
    --------  ---- ---- ---- ---- ---- ---- ---- ---- ----------------
    00000020  0487 0100
    00000080  2946 0F00 8096 9800
    
    > dump 29.970.avi
      Addr     0 1  2 3  4 5  6 7  8 9  A B  C D  E F 0 2 4 6 8 A C E
    --------  ---- ---- ---- ---- ---- ---- ---- ---- ----------------
    00000020  5782 0000
    00000080  6317 0500 8096 9800
    		
    00000020 からの 4 bytes では 100100 を 33367 に、 00000080 からの 4 bytes 二つは 1001001, 10000000 を 333667, 10000000 に (二つ目の 4 bytes はそのままですが) 書き換えました。
  3. AVI60 に 120 fps へ仕上げて貰う。
    > avi60.exe 29.970.avi /120
    AVI60.exe  2002/07/19ver.
    -------------------------
    
    InputFile  :29.970.avi
    OutputFile :29.970_120.avi
    
    TotalFrame : 339
    FrameSize  : 640x480
    SrcFPS     : 29.970 (1000000/33367)
    Pattern    : *...*...*...
    DstFPS     : 119.880 (4000000/33367)
    
    Frame 113/113 (100%)
    Complete.
    		

世の中にはクレイアニメという、 主に粘土細工を微妙に動かしたり加工させながら地道に 1 コマ 1 コマ撮影し、 繋ぎ合わせて作成されたものがあるらしいです。 一昔前だとピングーなんてペンギンが有名だったようですが、 現在でも NHK のプチプチ・アニメ (http://www3.nhk.or.jp/anime/petit/) という枠で色々やってるようです。

・・・で、まあ、そういう作品を紹介 (23.976 fps) し、 作成・撮影方法も説明 (29.970 fps) し、 技術的に素人な子供達がチャレンジして作成した簡単なもの (9.990 fps) の発表まで追った番組を、 今回紹介させて頂いた方法で 119.980 fps にして保存しましたが、 もっと簡単な方法があるかも知れませんので御了承下さい。 ちなみに、 作品内で行なわれるカメラのスクロール (パン・チルト) 、 炎や点滅等の画面効果、 粘土キャラ以外のみが行なう動き (ドアの開閉等) は普通に 29.970 fps だったりするので 余計に面倒臭いです 御注意下さい。

それと VirtualDub にフレームレートの変換を頼んだ場合、 AVI Head 情報だけを書き換えて実際のフレームは変わらないようですし、 119.880 として [OK] を押しても、119.875 に直されてしまうようです。

あと avi60.exe は対応 fps が 24/30 と銘打ってあるだけに、 9.990 を渡しても 24.975/49.950 にしかなりませんでしたよ。 オプションでの /F6:1 でも似たような感じでした。

そうそう AviUtl のプラグインである '拡張AVI出力' も null フレームで水増ししてくれるようですが、 再圧縮無しを選べないようでした。

最後に Celeron 533A@808MHz + i815E の内臓グラフィックという環境では ffdshow に頑張って貰っても B-Frame 1 の XviD と Quality 4 の OGG Vorbis を合わせた OGM を再生するのがキツイみたいです。 画面モードを 640x480 にして色数も調整すれば 29.97 fps はギリギリ 大丈夫でしたが 119.880 fps ではコマ落ちが結構頻繁に起きました。 あ、次はディスプレイのリフレッシュレートも下げてみる事にします。