2005年10月31日

発AVC-in-AVI、宛AVC-in-MP4、mp4box経由

【概要】MEncoder,ffmpeg,mp4boxでA/V Sync向上テスト
【タグ】[x264][.mp4][MEncoder][ffmpeg][mp4box][A/V Sync]

■ケロロ軍曹81話

NO. title Fps-1st Fps-2nd Hrs-1st Hrs-2nd V-A(sec)
1 Mencoder(23.976).264,mp4box(23.976).mp4 10.71 4.39 1''8'2 2''45'51 0.159
2 Mencoder(24.000).264,mp4box(24.000).mp4 10.44 4.27 1''9'48 2''50'40 0.097
3 Mencoder(24000/1001).AVI,mp4box(23.977).mp4 10.79 4.35 1''7'34 2''47'38 0.096
  • 1はffmpegX同様。MEncoderでraw.264出力。mp4boxでmux。両者ともfpsは同じ数値。
  • 2も同じ。fpsを音声周波数48000Hzの約数にした。素材によってはオリジナルのフレーム数を破壊するので画質に悪影響が あり得る。
  • 3のみ、MEncoderでx264.AVI出力。ni,-oac copy使用でエンコード後、-ovc copy -nosoundで.264を抽出。2chで教えて頂いた方法。mp4boxの23.977は後述。
  • -vfは共通。-vf pullup,softskip,crop=${CROP},scale=${SCALE},hqdn3d=4:3:6,pp=l5,harddup

■mp4boxの-fpsコマンドについて。

3の方法を編み出した方によると、mp4boxは-fps指定が-0.001ずれるとか。23.976を指定しても、結果が23.975になるとの事。
以下の通り、 手許でも確認できた。

NO. title mp4box-TimeScale mp4info QT7.0.3
1 Mencoder(23.976).264,mp4box(23.976).mp4 23975 23.98 23.97
2 Mencoder(24.000).264,mp4box(24.000).mp4 24000 24.00 24
3 Mencoder(24000/1001).AVI,mp4box(23.977).mp4 24000 23.98 23.98

しかしながら、3の結果が解せないものになった。脳内大混乱(いつもそうだけど)。
-vfの設定にも拠るのだろう。どうせpullup,harddupかけてしまうのなら、mp4box,mp4info,QTの三者で結果の揃う 24.000でも良いかと言う気もする。

■考察

コレは、MEncoderが吐くフレーム数が指定したfps値で割り切れてないんだよなぁ。
23.976に近くなるよう配分してみたけど総フレーム数が足りなかったので23.975が精一杯でした!とか。いや、V-Aがプラスの値になるんだか ら、フレーム数が少し余分なのかな?1フレームあたりの秒数を表にしてみた。
色は上記の結果がおさまる範囲。1. ベージュ, 2.緑, 3.ピンク

Fps 1フレーム(sec) 2フレーム(sec) 3フレーム(sec) 4フレーム(sec) 5フレーム(sec) 6フレーム(sec) 7フレーム(sec)
30 0.0333333 0.0666667 0.1000000 0.1333333 0.1666667 0.2000000 0.2333333
30000/1001 0.0333667 0.0667333 0.1001000 0.1334667 0.1668333 0.2002000 0.2335667
29.97 0.0333667 0.0667334 0.1001001 0.1334668 0.1668335 0.2002002 0.2335669
24 0.0416667 0.0833333 0.1250000 0.1666667 0.2083333 0.2500000 0.2916667
24000/1001 0.0417083 0.0834167 0.1251250 0.1668333 0.2085417 0.2502500 0.2919583
23.976 0.0417084 0.0834168 0.1251251 0.1668335 0.2085419 0.2502503 0.2919586
- - このエントリの範囲(23.976)

2.緑のV -Aは0.097secだが、ぴったしではない。他のソフトで検証しなきゃダメだよなコレ。

このへんてきと〜になんとかしてくれるQuickTimeは偉い。天才。考えついたの80年 代中盤でしょう?地球外生物だよ。正面から突き詰めてなんとかしてきたWinユーザの根性もすげぇ。

【そんなことより】
この表を見て真っ先に思う事は、毎秒60000/1001フィールドのTV局のカメラがどうやって時間測ってるのか激しく知りたいって事だ。つうか映画用 の24fpsカメラだってジョン=ウェインの駅馬車からだぞ?1939だぞ?戦前だぞ?水晶発振子の実用化は、、、1928か。へ〜原理の発見者はキュ リー夫人の旦那さんなんだー(表を見ると妄想が広がる性質)。

■使えそうなmp4boxオプションメモ

欲を言えばV-Aは0.05は切って欲しいものがあるが、映/音別途張り合わせってこうゆうもんなのかも知れない。ぶっちゃけ何年も前から QuickTime Player Proで拡大・縮小貼付けが当たり前(と、雑誌なぞ読んで思っていただけの)の素人としては不案内領域だ。

Win界のVirtualdubというソフトではAudio delayという単語がタマに出てくる。mp4boxのオプションで近そうなのはコレら。
General Options: 
-delay tkID=TIME        : sets track start delay in ms.
Importing Options
:delay=delay_ms          : sets imported media initial delay in ms

先にこっち試すべきだよな。

■懸案事項
aviから264を抽出する事。
mkvmergeは、昔はAVIに入れたAVCを受け付けてくれたが、今は原則としてMP4に入れたAVCでないと入力できなくなった(裏技はあるが)。
AVC-in-AVIからAVC-in-MP4に変換する道もあるが、あまり簡単ではない。
そんな面倒をするくらいなら初めからMP4で書き出すのが早道。
ふーむ、、、まぁ、、、簡単ぢゃないんだきっ と。
posted by ばる at 23:35| Comment(0) | TrackBack(0) | 圧縮日記264 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/8820756
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。