前回更新「Premiere ProとEncoreでH.264が音ズレする (個人的な) 問題ようやく解消」の続きに当たるエントリー。
上リンク先の要約
Premiere Proで (1本の動画を複数に分割して) 出力した場合、動画は音声よりも1フレーム余分に出力されてしまうので再結合時に結合ヵ所で1フレームずつカットしないと音声との同期が取れなくなってしまう。
今回のお話し
例えばPremiere Proから Mpeg2形式で動画を出力して、それをAviSynthに読み込ませたい場合は以下のように行う。
(DGIndexの利用を前提としている)
LoadPlugin("X:\AviSynth\plugins\DGDecode.dll")
MPEG2Source("D:001.d2v") \
+ MPEG2Source("D:002.d2v").Trim(1,0) \
+ MPEG2Source("D:003.d2v").Trim(1,0) \
+ MPEG2Source("D:004.d2v").Trim(1,0) \
+ MPEG2Source("D:005.d2v").Trim(1,0) \
+ MPEG2Source("D:006.d2v").Trim(1,0) \
+ MPEG2Source("D:007.d2v").Trim(1,0) \
+ MPEG2Source("D:008.d2v").Trim(1,0) \
+ MPEG2Source("D:009.d2v").Trim(1,0) \
+ MPEG2Source("D:010.d2v").Trim(1,0) \
+ MPEG2Source("D:011.d2v").Trim(1,0)
return last
- 「Trim(1,0)」は「最初の1フレームを削除する」という意味になる。これで重複したフレームを1枚削除しながら結合できる。
- 複数の動画を結合して読み込みしたい場合は「+」または「++」で結合する。
(音声を同期しながら連結したい場合 ++ を使う) - 途中で改行を入れたい場合は「\」(バックスラッシュまたは円記号)を入れて改行する。
おまけ(というか応用)
LoadPlugin("X:\AviSynth\plugins\DGDecode.dll")
MPEG2Source("D:001.d2v").mt("TemporalSoften(3,10,12,20,2)",9,0) \
+ MPEG2Source("D:002.d2v") \
+ MPEG2Source("D:003.d2v").mt("TemporalSoften(2,6,10,20,2)",9,0) \
+ MPEG2Source("D:004.d2v").Trim(1,0).mt("TemporalSoften(1,4,6,20,2)",9,0) \
+ MPEG2Source("D:005.d2v").Trim(1,0) \
+ MPEG2Source("D:006.d2v").Trim(1,0) \
+ MPEG2Source("D:007.d2v").Trim(1,0) \
+ MPEG2Source("D:008.d2v").Trim(1,0) \
+ MPEG2Source("D:009.d2v") \
+ MPEG2Source("D:010.d2v").Trim(1,0) \
+ MPEG2Source("D:011.d2v").ConvertToYV12
return last
- 「mt」付きの TemporalSoften などもこの方法で処理できた。
高感度撮影したシーンなどは、そこだけ分割出力してこの方法で結合するのが便利。 - 色空間が異なるファイルも「ConvertToYV12」などで色空間を統一すれば読み込み可能になる。
(今回の場合、YUV 4:2:2動画をYV12にコンバートしてみた)
今回の場合の謎
- 11個に分割した動画をPremiere Pro上でそのまま結合した場合、9フレーム分動画の方が長くなってしまった。
- 11個すべてのファイルを個別にチェックすると、すべて動画の方が1フレーム多いのだが、タイムライン上に11個連続で並べると余分フレームは9枚に減る。
- 2フレーム分はどこ行ったw
- AviSynthで結合しx264で出力したファイルは、(Premiere Proのタイムライン上に置いた場合は) 「Trim(1,0)」を6個 (6フレームカットした状態) で音声と動画のフレーム数がピタリと一致した。
- 更に3フレームどこ行ったw
- ここで注意
このavsファイルを X264 で処理する場合、出力はRAW形式にして、音声とのオーサリングはAdobe Encoreを使う。
- このAviSynthでカット出力したファイルは、Premiere ProやEncoreでMUXすると音ズレしない癖にtsMuxerGUIでMUXすると激しくズレる。
- ※補足
tsMuxerGUIでMUXした動画はMPC-HC、VLC Media Player、PowerDVDなどで再生すると音ズレしていない。
このファイルをEncoreに読み込んでオーサリングすると、完成したBDは音ズレしてる。
音ズレの世界は深い。
あと、もう一言二言なにか書きたかった筈なのだけどここまで書いたら何を書きたかったか忘れてしまった。今日はここまで。