2016.09.20: ImgBurnのリンクが切れていたので修正

ブルーレイ素材の動画を
 「x264で再圧縮して再びブルーレイ化したい」
この時、なぜだか上手く変換できない場合がある・・・。

この、上手くいかない場合
 ・ドコに原因があるのか?
 ・どうやったら上手く変換できるのか?
をメモしたページです。
(私の知識が古いため、情報の一部は古いモノになります)

インストールするもの

最低限必要なものの、ダウンロードリンクと概要

各ツールの、インストール時の注意点

今回は、細かい手順の解説はありません。
インストール時の注意点など、要点のみ記述。

インストール時の注意事項おわり。
以下、圧縮する際の具体的な手順です。

スポンサー リンク

元動画のファイル形式をチェック

動画再生ソフトMPC-HCで、変換前の素材動画を再生し、どのようにPCに認識されているかをチェックする。(再生中にプロパティを確認する)

再生確認した例
素材動画を再生し、どのようにPCに認識されているかをチェック
▲クリックで拡大

チェックポイント
 ・動画のフォーマット・・・(ブルーレイビデオとして認識されているか)
 ・動画のサイズ・・・・(1920x1080 または 1280x720)
 ・色空間 ・・・・(YUV 4:2:0 または YV12/8bit/BT.709)
 ・フレームレート・・・・(23.976、29.97、59.54/プログレッシブ)
これらの条件を満たしている場合は、その動画はSimple x264 Launcherで直接変換しても、ほとんど問題は出ない。

しかし例えば上図の様に、「フレームレート=Variable」と認識されてしまった場合は、通常の方法では正しく変換できない。

この場合、「DGAVCDec +AviSynth」で動画を読み込み、正しい情報をセットしなおさなければならない。
(もしくは、正しい情報を取得できるコーデックとスプリッタを導入する必要がある)

注意:これらの情報を正常に取得できても、正しく変換できない場合もあります。
(ちょっと原因がわかりません。。。)

その他の原因

http://forum.doom9.org/showthread.php?t=144140&page=51
1年以上前の情報ですが、FFMS2(Ver2.17.3.0) にソース素材のフレームレートを正しく認識しないバグがある、との事です。

Simple x264 Launcher(というかその内部にあるFFMS2)の直接読み込みに、過度の期待をしない方が良さそうです。

正しい情報を取得するためには

Simple x264 Launcherで正しい情報を取得できない動画ファイルは、一旦AviSynthで読み込み、情報を正しくセットし直します。
(これは、手動で動画の再生情報を指定しなおす、という意味です)
(今ではAviSynthより高機能なVapoursynthというフロントエンドがありますが、導入方法がかなり面倒なので、このページでの解説は断念しました)

M2TSファイルをAviSynthで読み込むためには、DGAVCDecを利用します。

DGAVCDecでM2TSファイルのインデックス化

※サイト内にDGAVCDecの解説ページはありません。
(ほぼ同じ使い方ができる DVD2AVIや DGIndexの解説ページがあります)
(出力するだけなので、特に使い方を覚える必要はありません)

DGAVCDecにブルーレイ素材を読み込ませ、プロジェクトファイルを出力します。
DGAVCDecにM2TSを読み込ませ
▲クリックで拡大
  • ここでもファイル情報をチェックします。
    (上図の場合も、フレームレートの情報を正しく取得出来ていません)
    (MPC-HCで正しく情報を取得で来ていても、DGAVCDecの情報がおかしい場合もあります ※フレームレート検知にバグがあります)
  • [File]>[Save Project]でプロジェクトファイルを出力(インデックス化)します。

保存先のフォルダに、
音声ファイルとインデックスファイル(dga)が作成されます。
音声ファイルとインデックスファイルが作成
▲クリックで拡大
(例として「test.dga」というファイルを作成しました。)
インデックスファイル(dga)は、ソース動画を参照するファイルです。
ソース動画は、変換し終わるまで削除や移動しないようにします。

 

インデックスファイルをAviSynthで読み込み

まず、dgaファイルと同じ階層で右クリック「新規作成」で、txtファイルを作成します。
「新規作成」で、txtファイルを作成
▲クリックで拡大
このテキストファイルの中に、AviSynth用の呪文をコピペします。

txtファイルの中身の一例
AVCsource("test.dga") #ソースの読み込み
#BicubicResize(1920,1080)   #サイズが正しくなかった場合先頭の#を外す
#ConvertToYV12   #色空間が正しくなかった場合、先頭の#を外す
#AssumeFPS(24000, 1001)  #FPSが正しくなかった場合、先頭の#を外す
# 今回の場合は、このAssumeFPS(24000, 1001) の#を外す。

#ChangeFPS(24000, 1001) #再生速度を変えずにfpsを変更する場合はコチラ
#AssumeTFF #インターレス素材(トップフィールドファーストの場合)
#AssumeBFF #インターレス素材(ボトムフィールドファーストの場合)
return last #エラーがでないようにするおまじない

上記は最低限必要な記述です。テキストファイルにコピペして下さい。
先頭に「#」が付いている行は「コメントアウト」されています。
(#を外さない限り、有効にはなりません)
各項目は、必要に応じて書き換える必要があります。
1280x720 60fps素材などの場合は、上記を適切に変更して下さい。

※今回のような素材 (DGAVCDecで正しいフレームレートが取得できていない) 場合、「AssumeFPS(24000, 1001)」の先頭の#を外し、適切なフレームレートを指定します。(例えば、59.94fpsの場合は60000, 1001とします)

テキストファイルを保存したら、拡張子をavs (AviSynth Script形式) に変更します。
拡張子をavs (AviSynth Script形式) に変更
▲クリックで拡大
例:txtファイルを、test.avs に変更しました。

作成したファイルの確認

ここで、作成したavsファイルが正常に作動するか確認をしてみます。
VirtualDubやAviUtlなどが、avsファイルの読み込みに対応しています。

正常に読み込めるか確認してみましょう。
 ・AviUtlの詳しい解説は、このサイト内にはありません
 ・
VirtualDub APNG Modのサイト内解説
  ※使い方はVirtualDubModを参考にして下さい。
  ※ただしVirtualDubModは古く、Windows 7/8で利用するのは少々やっかいです。
   (別途YV12コーデックが必要。AVI形式のYV12コーデックは古いものが多い。)

VirtualDub APNG Modで読み込んだ場合
VirtualDub APNG Modの場合
▲クリックで拡大
画面がキチンと表示されること、フレームレートや色空間、動画のサイズなどが意図通りになっている事を確認しましょう。
音声ファイルも読み込んでみて、動画と音声がズレていない事を確認しましょう。

確認ができたら、いよいよx264で動画を変換します。

Simple x264 Launcherで動画を読み込み、変換

Simple x264 Launcherのサイト内解説はコチラ
(ちょっと古いバージョンの解説です)

読み込みファイルには、avsファイルを指定します。
Simple x264 Launcherで動画を読み込み
▲クリックで拡大
ブルーレイ形式でオーサリングしたい場合は、264(raw)形式で出力します。
(PCで再生するのが目的の場合はmp4/mkvを選択します。)

オプション部分
--weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 18000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --b-pyramid strict --slices 4 --aud --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1

ブルーレイの規格に準拠したファイルを作りたい場合は、最低限上記の様な記述を入れておきます。
(--vbv-maxrate は、30000くらいまで大きくすることが可能です)
(数値が大きいほうが高画質になりますが、ファイルが大きくなります)

Simple x264 Launcherで直読みする場合のオプション
--weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 18000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --b-pyramid strict --slices 4 --aud --colorprim "bt709" --transfer "bt709" --colormatrix "bt709"--sar 1:1 --tff --fps 30000/1001 --output-csp "i420" --video-filter resize:width=1920,height=1080,method=spline

AviSynthを介さず、M2TSファイルを直読みしたい場合は
 ・フレームレート
 ・動画のサイズ
 ・色空間
 ・インターレースの有無
 ・動画のアスペクト比
なども(必要に応じて)パラメータを付け足しておきます。
ただし、前述した「MPC-HCなどで再生した際に動画情報が正しく取得できていない」場合は、これらのオプションを指定してもブルーレイ規格の動画は生成されないようです。

出力したファイルの拡張子は「*.264」となります。
出力したファイル
▲クリックで拡大
「*.264」は通常の再生ソフトでは再生出来ないファイルである事に注意してください。

tsMuxeRでMUX、オーサリング

tsMuxeRのサイト内解説はこちら
(少し古いバージョンの解説です)

DGAVCDecで分離した音声と、Simple x264 Launcherで出力した動画を、tsMuxeRでMUXします。
tsMuxeRでMUX
▲クリックで拡大
上図はブルーレイ形式でオーサリングしたい場合です。
最近のtsMuxeRは、ISO化のチェック項目が付いていて便利です。
(ブルーレイフォルダを作成し、それを直接BD-Rに焼いても正常なブルーレイDiscにならない場合があります。必ずISO化しましょう。)

注意
tsMuxeRでオーサリングした場合、
 ・動画は1本しか含めることはできません。
 ・複雑なメニュー画面は作成出来ません。
 ・元のブルーレイディスクのメニュー画面もコピーできません。

※メニューを作成したい場合は multiAVCHD などのフリーツールがあります。
(公式サイトのダウンロードファイルは怪しいので注意)
(ブルーレイDiscのメニューをコピーするツールではありません)

Imgburnでイメージ化、ライティング

tsMuxeRで出力したISOファイルを、ImgburnなどのISO焼き出来るライティングソフトでBD-Rに焼き、再生テストを行いましょう。
ImgBurn:EZモード画面
▲クリックで拡大
ImgBurnの場合、「イメージファイルをディスクに書き込み」を利用します。
詳細な手順を知りたい場合は、サイト内「ImgBurnの簡単な使い方・設定の解説」を一読下さい。

BD-R に焼く理由
  • 最近の市販ブルーレイ再生ソフトは、(プロテクトがかかっていなくても)ISOファイルや、仮想マウントしたDiskの再生を出来なくしているものがあります。
  • PCで上手く再生で来ても、一般的な家庭用ブルーレイプレーヤーで再生できない場合があります。

再生出来ない場合
 ・ISOまたは仮想マウントのブルーレイを再生している
 ・メニュー部分の指定ミス
 ・音声の指定(BDMVはAC-3とLPCMのみ。aacは BDAV形式)
 ・インターレース素材やTV素材を適切な処理していない
 ・フレームレートの指定ミス
 ・色空間の指定ミス
など、様々な可能性があります。
あらゆる素材で変換やオーサリングを試し、何度も失敗を繰り返し、地道に経験を積むしかないと思っています。

あとがき

Vapoursynth関連の手順書ページを作成しようとしたけど挫折した。
分かりやすく書くのは無理だった。(というか私は全然使いこなせていない・・・。)