« Dellからカッコイイ超小型デスクトップPCが登場 | トップページ | BDの再エンコード手順メモ(暫定版) »

2008年7月30日 (水)

リッピングしたBDの活用方法その2~再エンコード編~

BDの活用方法その2
今回は編集と再エンコードについて

といっても方法自体はこれまで紹介したようにAviUtlに読み込ませて編集、H.264で出力するだけなのですが。
つまりどうやってAviUtlに読み込ませるかが問題で、そこだけクリアすればもう出来たも同然なわけです。

さて、それではそのいかにしてAviUtlに読み込ませるかを解説しましょう。
BDの場合は動画の圧縮方法によって2パターンに分けられます。

◎BDの映像形式を判別する

BDに使われている動画の映像形式(フォーマット)は主に2種類あります。
一つはDVDやデジタル放送でも使われている”MPEG2”。
もう一つは”MPEG4-AVC”。H.264とも呼ばれます。
しかしBDではどちらのフォーマットの場合も映像ファイルの拡張子が.m2tsになっており、一目見ただけではどちらを使っているか判断できません。
このフォーマットの違いによってAviUtlに読み込ませる方法が違うので、まずはターゲットとなるBDがどちらのフォーマットを採用しているのかを判別する必要があります。

判別する方法はいくつかありますが、簡単なのは何らかのプレイヤーで再生させてみて、プロパティなどを見る方法。
例えばMedia Player Classicなら[ファイル]>[プロパティ]>[詳細]で、
VLC media playerなら[表示]>[Stream and Media Info]>[Advanced information]でフォーマットを確認することが出来ます。

vlc
VLCの場合↑のように表示され、H.264(=MPEG4/AVC)と分かる

これで判別したフォーマットによって手順が異なるので覚えておいてください。
MPEG2だったらパターン1へ、MPEG4-AVCだったらパターン2へ。

◎パターン1:MPEG2の場合

BDの映像がMPEG2フォーマットだった場合はかんたんです。
何せDVDやデジタル放送と同じですから。

1. 用意するもの

これまでと同じ、定番の下記のソフト・ツールたちをDL/解凍/インストールしておいてください。
DGMPGDex    ・AviUtl       ・x264詰め合わせneroAacEnc

2. m2tsファイルをDGIndexで読み込む

DGIndex(DGMPGDex)を起動して、[File]→[Open]でBDの映像ファイル(.m2tsファイル)を読み込みます。
[Audio]→[Output Method]で[Decode AC3~]にチェックを入れておきます。
もしBDに複数の音声が収録されている場合は[Select Track(s)]で選択できます。
できたら[File]→[Save Project]で保存 。
しばらく待つと.d2vファイルと.wavファイルができるはずです。

3. AviUtlで読み込み、編集

AviUtlを起動して、[ファイル]→[開く]で先ほどの.d2vファイルを開きます。
[ファイル]→[音声読み込み]で.wavも開きます。
あとは各種フィルタをかけたり、要らないシーンをカット編集したり好きなようにしてください。

4. エンコード

AviUtlの[ファイル]→[プラグイン出力]→[拡張x264出力(GUI)]を選びます。
保存場所、ファイル名を設定した後、 [ビデオ圧縮]をクリック。ここでエンコードの設定をします。
これまでは2passエンコードを紹介してきましたが、今回は品質基準VBRでやってみましょうか。
この方法は品質を指定するエンコード方法で、完成した動画の品質(画質)を予想しやすいです。その代わりビットレート(容量)は自分で決められないので、あまり画質重視にするとびっくりするような大容量になってしまうこともあります。また、1passなので2passエンコードに比べ作業時間が短くて済むのもメリットです。

[シングルパス - 品質基準VBR]に設定して、品質(Quality)を決めます。
初期値は26で、数字が小さいほど高品質、大容量になります。
おすすめは実写であれば24~26、アニメだったら20前後でしょうか。
何度か短い映像でテストしてみるといいと思います。

PS3で再生できるようにする場合は[コマンド]タブに「--level 4.2」と打ち込むのをお忘れなく。
あとの設定は好みで。分からなければいじらなくてもそこそこの画質にはなります。音声は右の部分でビットレートとか選べます。
設定ができたら[OK]を押して設定ウィンドウを閉じ、[保存]をクリック。するとエンコード作業が始まります。お疲れ様でした。

 

◎パターン2:MPEG4-AVCの場合(暫定版)

もしBDの動画フォーマットがMPEG4-AVCだとちょっと大変です。
なにせ新しいフォーマットなのでツール類もまだ発展途上なのです。
私自身もここ数日いろいろテストして分かりやすい方法を探っているのですが、なかなかうまくいきません。ですのでとりあえず暫定版ということで参考程度にしてください。

1. 用意するもの

下記のソフトをインストールしておいてください。MPEG2のときとはちょっと違います。

DGAVCDexAviSynth    ・AviUtl       ・x264詰め合わせ
neroAacEnc   ・Free Mp3 Wma Converter

2. m2tsファイルをDGAVCIndexで読み込む

DGAVCIndex(DGAVCDex)を起動して、[File]→[Open]でBDの映像ファイル(.m2tsファイル)を読み込みます。
[Audio]→[Audio Demux]を選ぶと収録されている音声が一覧表示されるので、抜き出したい音声を選んで[Set]をクリック、できたら[Done]で閉じます。
できたら[File]→[Save Project]で保存 。
しばらく待つと.dgaファイルと.ac3ファイルができるはずです。

※補足
もしBDの音声フォーマットがAC3でなくてLPCMだった場合は.pcmファイルが出来てしまい厄介です。
その場合はtsMuxeRを使って抜き出したい音声を選択、Outputのところで[demux]を選んで出力すると.wav形式で音声を抜き出せるはずです。
AC3の場合でも最初からtsMuxeRで抜き出したほうが間違いないかもしれません。

3. 音声をWAV形式に変換

.ac3のままではAviUtlで扱えないのでwavに変換します。
Free Mp3 Wma Converterを使うのが簡単だと思います。

※補足2
LPCM音声をtsMuxeRを使って.wav形式で抜き出した場合はこの手順は必要ないはずなのですが、今回テストした「逆シャア」ではなぜかこの.wavのままではAviUtlで読み込めず、winampを使ってwav→wav変換しなければなりませんでした。理由は不明。今後の課題です。

[追記 メモ]
「007」ではwav→wav変換すらできない。Extensible Waveフォーマットなのが原因?バイナリエディタで、
00000014: FE → 01
00000015: FF → 00
でとりあえず読み込みできるっぽい

4. AviSynth経由でAviUtlに読み込み

先ほど作成した.dgaファイルですが、そのままではAviUtlは読めないのでAviSynthというツール?を経由させて読み込ませます。
メモ帳を開いて以下のように打ち込みます。
--------------------------------
LoadPlugin("C:\...\DGAVCDecode.dll")
AVCSource("hoge.dga")
--------------------------------
もちろんC:\...の部分はDGAVCDecode.dllへのパスですので環境に合わせて書き換えてください。DGAVCIndex.exeと同じフォルダに入っています。
2行目のhoge.dgaも.dgaファイルの名前に合わせてくださいね。
できたら.dgaファイルと同じ場所に保存。
拡張子は.txtから.avsに書き換えてください。

これで準備完了。AviUtlを起動して、[ファイル]→[開く]で今作った.avsファイルを開きます。
[ファイル]→[音声読み込み]でAC3から変換した.wavファイルも開きます。
あとは各種フィルタをかけたり、要らないシーンをカット編集したり好きなようにしてください。

エンコードはパターン1の手順4と同じです。

-----------------------------

以上こんな感じですが、どうでしょうか?
MPEG4-AVCの取り扱いはまだ自分でも試行錯誤している段階なので結構ややこしいことになってますね。音声がLPCMだと読み込めない問題も解決していませんし。

もし何かわからないことがあったらコメント欄にでも書いてください。
お答えできる範囲でお答えしますので。

|

« Dellからカッコイイ超小型デスクトップPCが登場 | トップページ | BDの再エンコード手順メモ(暫定版) »

コメント

tsMuxeRを使った場合、下記ののエラーが出る場合がありますね。(フルメタル・パニック)
回避策を見つけていませんが、何かわかれば追記してほしいなぁ・・・

AV frame too large (63544 bytes). Increase AV buffer.

投稿: ななし | 2008年11月16日 (日) 17時15分

いろいろ検索してたどりつきました
BDのLPCMは32bitLPCMなのでtsRemuxrで書き出すと
wavフォーマットとはなりますが拡張wav形式とかいうやつになるらしいです。
なので拡張wav>通常wav変換へのヘッダ書き換えがどうしても必要になりXRECOREDで変換しないとaviutl等で読み込めません
もしくはsoxをつかってpcm>wav変換するといいみたいです(こっちはノイズが乗ったりするので少し難しい)

投稿: | 2009年1月25日 (日) 15時01分

説明どうりに行いましたがAviUtlの画面に赤色の英語で「DGAVCDファイルが読み込まれません」と表示されてしまいます。AviSynthについての説明がほとんど書かれていなかったのでインストール後に作成された「プラグインディレクトリ」の中にあったファイル3個をAviUtlフォルダーの中にコピーしましたが間違っていたのでしょうか?
AviSynthについての詳しい説明を教えてください。

またtxtファイル内の「C:\...」の...はDGAVCDexフォルダーを保存した場所\フォルダー名のdgavdec109\としましたがこれで良かったのでしょうか?
お手数かけますがよろしくお願いします。

投稿: Kamei | 2009年5月 8日 (金) 19時36分

問題は解決し読み込みに成功しました。原因はデスクトップに作成されたdgavdec109でdgaファイルを作成した後にdgavdec109を別の場所に移動したためでした。AviSynthについても確認したところ「プラグインディレクトリ」の中にあったファイル3個をAviUtlフォルダーの中にコピーする必要がないことが判明しました。
しかしながらソースの問題と思われますが映像にノイズが発生してしまいます。MediaCoderでは問題ないためVFAPIPlug-Inとの相性の問題のようです。

投稿: kamei | 2009年5月 9日 (土) 23時17分

WAVが読み込めず苦労していました。
ありがとう御座いました。

投稿: YB | 2011年10月 9日 (日) 22時41分

ds_input026a.lzh をAviUtlにプラグインしたらMPEG4-AVCのTSファイルが直接読み込めるようになりました。
音声はWAVでないと駄目ですけど・・
DGAVCIndex.exeで音声を分離してXMedia Recodeで変換して読み込ませればOKです
欠点としては、CMカットのときにバックさせると音声がズレル事、現時点ではバックさせない様にシークしてカットすれば問題は無いようですが、一応カット後に再度シークして確認したほうが良いです。

投稿: | 2012年2月19日 (日) 21時54分

追記
XMedia Recodeの設定は カスタム WAV 拡張子wav
コーデック PCM signed 16-bit Little-Endian が良いようです

投稿: | 2012年2月19日 (日) 22時09分

C:\Program Files (x86)\AviSynth 2.5\pluginsの中に
DGAVCDecode.dll
をコピーしていれる(DGAVCIndexを解凍すると中に入っている)

DGAVCIndexと同じフォルダに

DGAVCDecode_AVCSource("__vid__")

というAVSファイル作成(注1、名前はtemplate.avsが分かりやすい、AVSファイル作成方法は各自調べ)

options

pcm http://adapthes.cocolog-nifty.com/blog/2010/02/lpcm-wav-70dd.html

上記のサイトからAddHeader.exeをゲッツ
pcm

DGAVCIndexで作成されたavsファイルをAviUtlにD&D
音声読み込みで上記で作成されたwavを読み込む

これが一番拡張waveをディレイなしで読み込むのに楽ではないかと思われる(ただしコーデック関連に多少依存するかもしれないので注意)

投稿: 鑿 | 2012年9月17日 (月) 10時13分

なんか変な風に切れた…

上記のサイトからAddHeader.exeをゲッツからの続き~

pcm

DGAVCIndexで作成されたavsファイルをAviUtlにD&D
音声読み込み:AddHeaderで作成されたwavを読み込む

これが一番拡張waveをディレイなしで読み込むのに楽ではないかと思われる(ただしコーデック関連に多少依存するかもしれないので注意)

投稿: 鑿 | 2012年9月17日 (月) 10時18分

補足

DGAVCIndexでPCMを取り出した際にDelayと書かれている場合
AviSynthスクリプト上で、DelayAudio(-0.957)と書き入れる(例文の-0.957とはPID 1100 DELAY -957ms.pcmと表記の場合、-95なら-0.095となる)

投稿: 鑿 | 2012年9月18日 (火) 20時47分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/18458/22667273

この記事へのトラックバック一覧です: リッピングしたBDの活用方法その2~再エンコード編~:

« Dellからカッコイイ超小型デスクトップPCが登場 | トップページ | BDの再エンコード手順メモ(暫定版) »