スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Aviutlを使ってサクッとmp4化

<追記:2012/01/26>
BonTsDemuxでm2vとaacを抽出してエンコードしても、上手く行かないことが多いので、映像と音声の分離に関しては、BonTsDemuxではなく、DGIndexを使用するやり方を推奨します。
詳細はこちら

<追記:2012/08/14>
2senが死んでリンクが切れまくってたので、色々と修正。

<追記:2013/04/19>
DGIndexのバグについて追記




今回は出来るだけ楽な方法でmp4にエンコードするためのやり方を書きます。



■1:前提条件

とりあえず、前提条件はこんな感じ。

1.圧縮形式はmp4(H.264 + aac)
2.動画編集に使用するソフトはAviUtl
3.映像ソースは録画した地デジアニメ(録画後の自動処理でTsSplitterまで実行済み)
4.CMカットは手動
5.TV局のロゴはなるべくカット。地震とかのテロップは消すの面倒なんでそのまま
6.画質は中~高画質(解像度:1280x720)
7.編集前に必要な処理(音声の抽出とか)はなるべく簡素化

※AviUtlはVer0.99kにて動作確認。

■試してみた事とか
①TSから直接mp4化
これが出来れば楽だけども、今のところ出来ないっぽい?

②TSから音声ファイルをaacで抽出し、mp4化
BonTsDemuxでaac抽出 : 音ズレ頻発で論外
ts2aacでaac抽出 : 基本的には大丈夫だけど、一部で音ズレが発生した
mpeg2repair実行後、BonTsDemuxでaac抽出 : 音ズレはしないが、2段階で処理するのは面倒くさい

③TSからBonTsDemuxで映像をm2v、音声をaacで抽出し、mp4化
今のところ、問題なし。
m2vの抽出時に問題あり。

④TSからDGIndexで映像用にD2V、音声をaacで抽出し、mp4化
今のところ問題なし。

と言うことで、今回は④のやり方で説明します。



■2:必要な物

■各種プログラム本体

1.AviUtl本体
・動画編集ソフトです。
ここからダウンロードしてきて適当なフォルダに解凍しておきます。

以下、面倒ならAviUtlと同じフォルダに解凍してもOK。

2.DGIndex
・Tsファイルをd2vファイルと音声(aac)に分離するのに使用します。
ここから「DGMPGDec」をダウンロードしてきて解凍しておきます。

2013/04/19追記
DGIndex1.58にはバグがあるので、バグを修正したソースを自力でコンパイルして使うことをおすすめします。
詳細はこの記事を参照

3.x264
・h.264のエンコーダーです。
ここから「x264~(GPAC)[Latest]」をダウンロードしてきて解凍しておきます。
・32bitか64bitかは自分のPC環境に応じて代えます。

4.tc2mp4Mod、MP4Box
・mp4化&自動フィールドシフトを使う場合に必要
ここからダウンロードしてきて解凍しておきます。

5.FakeAacWav
・aacファイルを扱うのに必要
ここからダウンロードして解凍しておきます。


■AviUtl用各種プラグイン

以下のファイルはAviUtlのあるフォルダに「plugins」フォルダを作っておき、そこに解凍する。
readmeとかは被るので、必要に応じてリネームする。見ないなら置かなくてもOK。
srcフォルダとかソースも配布している場合もそれらは不要。

6.MPEG-2 VIDEO VFAPI Plug-In
・AviUtlでm2vを扱うのに必要
ここから最新版をダウンロードしてきて解凍しておきます。

7.x264guiEx
・x264を扱うためと言うか、mp4にするのに必要なプラグイン
ここからx264guiExの最新版をダウンロードしてきてauoフォルダの中身を解凍しておきます。

8.自動フィールドシフト インタレース解除プラグイン
・自動フィールドシフト用のプラグイン
ここから「自動フィールドシフト インタレース解除プラグイン」の最新版をダウンロードしてきてafs.aufを解凍します。
・ちなみに、上記ページはChormeだと文字化けするようなので(他のブラウザは未確認)、その場合はツール→エンコード→日本語(EUC-JP)にすると正しく表示されます。

9.FAWからAACを抽出する出力プラグイン
・AviUtlでaacを直接扱うためのプラグイン
ここからダウンロードして解凍します。

10.aviutlチャプター編集プラグイン
・mp4のチャプター編集が出来ます。チャプター編集をしない場合でも、無音シーン検索機能があるので、CMの場所を探すのに重宝します。
ここから「チャプター編集プラグイン+無音&シーンチェンジ検索」の最新版をダウンロードしてきてchapter.aufを解凍しておきます。

・最新版は「FAWぷれびゅ~」が必要なようなので、これも上記サイトからダウンロードして解凍しておきます。
→同梱の「FAWPreview_faadlib2.dll」は「aviutl.exe」のあるディレクトリに置くこと。 ×pluginsディレクトリ

11.ロゴ解析プラグイン・透過性ロゴフィルタ
・TV局のロゴ解析用のプラグインとそれを元にロゴを消すためのフィルタ
ここから「透過性ロゴフィルタ」と「ロゴ解析プラグイン」をダウンロードしてきてそれぞれ解凍しておきます。

12.ジャンプウィンドウ
・無くても良いけど、あると編集が楽になるプラグイン
ここから「aviutl_jump_210.lzh」をダウンロードしてきて解凍しておきます。

13.リサイズフィルタ
・無くても良いけど、AviUtlのサイズ変更機能を使うより綺麗にリサイズ出来るらしい。
ここから「リサイズフィルタ」をダウンロードしてきて解凍しておきます。
・ちなみにVCランタイムが必要だそうなので、入って無い人はMicrosoftからダウンロードしておく。


他にも私が使っているプラグインがいくつかあるんですが、キリがないので今回はとりあえずここまでにしておきます。
そのうち気が向いたら、別途説明します。



■3:エンコード準備

■AviUtlの設定

①AviUtlを起動。

②ロゴデータパックの場所を尋ねられるので、pluginsフォルダにある該当ファイルを開く。

③ファイル→環境設定→システムの設定を開き、下記の通り設定する。
・最大画像サイズを1920×10801920×1088に変更
・最大フレーム数に0を2つ追加
・デフォルトの出力ファイル名を「%p%f」に変更
・追加読み込みしたファイルのfpsを変換しないにチェック
システム設定

④ファイル→環境設定→ショートカットキーの設定を開き、「[編集][選択範囲のフレーム削除]」に何かキーを割り当てる。
・この記事では体感的にも使いやすい「Deleteキー」に割り当てた前提で話をします。設定しないとCMカット時に面倒なので注意。

⑤設定→インターレスの解除を「なし」から「自動フィールドシフト」に変更

⑥同じく、自動フィールドシフトの設定を開き、「映画/アニメ」に設定

⑦設定→リサイズフィルタの設定を開き、下記の通り設定
・「追加」ボタンを押して解像度に「1280x720」を追加
・輝度、色差を「Spline36」に設定
・SIMDを「SSE2」に設定
・右上のチェックボックスにチェックを入れておく(フィルタが有効になります)

⑧設定→フィルタ順序の設定→ビデオフィルタの順序の設定を下記の画像のように設定
フィルタ順序

⑨設定→圧縮の設定→プラグイン出力の設定→「拡張 x264出力(GUI) Ex」を選択し、設定をクリックし、下記の通りに設定

■x264
・プロファイルを「アニメ(高画質)」に変更
・速度を「medium」に変更(時間掛かっても良いならそのままでも良いです。私はせっかちなので…)
・x264.exeの指定に2-3でダウンロードしたx264を指定

この辺の設定は、色々と試しながら画質や時間、ファイルサイズなんかを見ながら自分なりの設定を見つけると良いと思います。

■拡張タブ
・拡張タブの自動フィールドシフト(afs)を使用するにチェックを入れる

■音声
・画面右側の音声エンコーダを「FakeAacWav(FAW)」に変更
・FAWCheckにチェックを入れる
・fawcl.exeの指定に2-5でダウンロードした「fawcl.exe」をフルパスで指定
・拡張オプションに「chapter.auf 自動出力用」を設定(チャプター編集をしない場合は「なし」でOK)
・mp4box.exeの指定とtc2mp4mod.exeの指定に2-4でダウンロードした物をそれぞれ指定

(参考画像)
拡張x264 出力(GUI) Ex

自動フィールドシフトのチェックは面倒なんで画像上げてないので、忘れないように。

⑩一旦、AviUtlを閉じる(設定が保存されます)


■映像と音声を分離し、AviUtlで開く

失敗することが多いので、音声(aac)の分離をBonTsDemuxからDGIndexに代えました。(2012/01/26)

①DGIndexを起動し、下記の手順でd2vファイルを作成します。
・File→Open→ADDでTSファイルを読み込みます。
・File→SaveProjectで保存ボタンを押します。

変換が終了すると、TSファイルと同じフォルダにd2vとaacファイルの2つが出来ます。

②AviUtlを起動し、ファイル→開くを選択し、①で作ったm2v d2vファイルを指定します。
③ファイル→音声読み込みを選択し、同じくaacファイルを指定します。

これで実際にAviUtlに映像と音声がセットされました。

注:aacはaviutlでは再生出来ないので、再生ウインドウ等では雑音になります。エンコードが終わると正常に再生されます。もしくはmp3プレイヤーとかで再生すれば普通に音が出ます。

<余談>
ちなみに私は分離→AviUtl起動までをVBSを使って自動化しています。
使いたい人は↓に置いておくので、ご自由にどうぞ。

DGIndexToAviUtl

■使い方
①右クリックからファイルを保存
②保存したファイルの拡張子をVBSに変更
③テキストエディタで中を開き、環境に合わせてパス等を設定します。

■起動方法
・引数に処理したいTSファイルをフルパスで指定(複数ファイル指定には未対応)
 →D&Dでも可。

■処理内容
DGIndexでd2vを作成し、AviUtlにd2vとaacを読み込ませるだけ…

別に自動化する程、たいした手間でもないんですが、SendToにショートカットをセットしておくと、TSファイルを右クリック→送るでAviUtl起動までやってくれて意外と便利です。




■4:エンコード作業

映像と音声が読み込まれたと思いますので、次はいよいよエンコード作業に移ります。

■ジャンプウインドウの設定

表示→ジャンプウインドウの表示にチェックを入れます。
別窓に映像が6個表示されるようになったと思うので、どこでも良いので、そのうちの一つを右クリックし、フレーム数を6から増やしておく。(10以上にしておいた方が編集が楽だと思います)


■CMのカット

<CMのカット方法>

ジャンプウインドウを使ってCMカットする場合について説明します。

①ジャンプウインドウを見ながら、削除したい部分の開始部をクリックします。
②画面が切り替わったら、「|←」をクリック
③同様に、削除したい部分の終了部をクリック、画面が切り替わったら「→|」をクリックします。
④Deleteキーを押すと選択部分が削除されます。
⑤これを消したい分だけ繰り返す。
ジャンプウインドウ


<無音部分をチャプター編集プラグインで検索>

カットする場所を画面を見ながら探すのは面倒なので、チャプター編集プラグインを使うと、無音部分を抽出出来て楽です。

表示→チャプター編集の表示にチェックを入れる。
チャプター編集ウインドウが表示されるので、下記の通り設定

・自動出力にチェックを入れる(チャプター編集をしない場合は不要)
・連続を10から20に変更(そのままでも良いですが、候補が増えるだけなので20で十分)
・SC位置、全SC検出、mark付与にチェックを入れる

「無音部分」ボタンをクリック → 少し時間がかかります。

しばらくすると↓のように無音部分が表示されるので、これをクリックすると無音部分にジャンプ出来ます。
チャプター編集

時間が表示されているので、それを見ながら選択すると、CMの切り替わりなのか、本編への切り替わりなのかわかりやすいと思います。


<CMカットついでにチャプター編集>

チャプター編集をしておくと、再生時にジャンプ出来るようになります。(対応するプレイヤーが必要です。MPC-HCとか)
例えば、OPのあと、CM明けの最初の部分をAパートとか設定しておくと、OPを簡単にスキップ出来て便利です。

やり方は、設定したい場所が表示されている時に、チャプター編集ウインドウの名称の部分に設定したい名前を入れて、追加ボタンを押すだけです。その後、無音部分の候補を削除ボタンで消しておけば、mp4が出来た時に自動的に設定されます。

(例)
チャプター編集2
追記:チャプター名に日本語使うと文字化けするっぽいんで英数字のみを推奨

動画出力後にチャプターが付いていない場合は、「拡張 x264出力(GUI) Ex」の拡張オプションに「chapter.auf 自動出力用」が設定されているか確認してください。


■ロゴの解析と削除

地デジでは、テレビ局のロゴが表示されていますが、あまり見た目が良くないので、これを消してしまいます。
下の画像はロゴを消す前と消した後です。ロゴを消しても背景が綺麗に描かれているのがわかると思います。
ロゴ

ロゴは最初に抽出するための作業が必要ですが、一度ロゴデータを解析しておけば、次回以降はそれを流用できるので、2回目以降はフィルタをONにしておくだけでOKです。

①AviUtlを起動し、映像ファイルを読み込む。

②設定→ロゴ解析の設定、透過性ロゴの設定にチェックを入れ、ロゴ解析ウインドウと透過性ロゴウインドウを表示する。
注:リサイズフィルタなど、映像関連のフィルタが有効になっていたらチェックを外しておく。

③ジャンプウインドウなどを使って、ロゴが表示されているシーンを表示します

④ロゴ解析ウインドウのチェックボックスにチェックを入れ、ロゴの周りをマウスでドラッグして範囲を指定します。
ロゴ解析
上の画像のように選択範囲が白い枠で囲まれます。

⑤ロゴ解析ボタンをクリックするとロゴ解析が始まります。

⑥全ての映像を解析すると時間がかかりますが、有効サンプルは1000もあれば十分なので、適当なところで中断します。

⑦ロゴ解析結果が表示されるので、ロゴ名に適当な名前(TV局名とか)を付けてAviUtlのあるフォルダに保存する。

⑧ロゴ解析ウインドウのチェックを外す。
→有効なままにしておくと、なにかの拍子に画面を触ってしまうと、エンコード後にそこがドット抜けみたいな状態になるので注意。

⑨透過性ロゴウインドウのチェックボックスにチェックを入れ、「オプション」をクリック

⑩透過性ロゴのオプションウインドウが開くので、追加ボタンから先ほど保存したロゴを選択する。

⑪下の画像のように、ロゴが登録されたのを確認し、OKをクリック
透過性ロゴオプション

⑫透過性ロゴウインドウのコンボボックスから、登録したロゴを選択するとロゴが消えます。

これで次回以降、同じチャンネルのエンコードを行う時には透過性ロゴウインドウからロゴを指定してあげることにより、解析は不要となります。


■エンコード作業

長くなりましたが、これで全ての準備が整いましたので、実際のエンコード作業に入ります。


①画面の端に余白があって気になる場合はクリッピング&リサイズで調整しておく。(説明は省略)

②フィルタ→リサイズフィルタチェックを入れ、フィルタを有効にする

③ファイル→プラグイン出力から「拡張 x264 出力(GUI) Ex」を選択する。

④保存ボタンを押すとエンコードが始まります。



<あとがき>
長々と書いてきましたが(書き始めてから1週間かかった…)、一度設定してしまえば後は簡単です。

①録画したTSをDGIndexToAviUtl.vbsに放り込む
②使用するロゴを選択
③CMカット
④エンコード

実際に画面の前で作業する時間は1分あるか無いかです。

まあ、そんなわけで、エンコード関連の事はほとんど書いたので、次回からは今期アニメの話でも書いていこうと思います。

それでは皆さん、良いアニメライフをw


あ、あと参考にさせて頂いたサイトやツールの作者の皆様にはこの場を借りてお礼を申し上げます。
FC2 Management

コメントの投稿

非公開コメント

エンコード後に発生する黒縁について

こんにちは。
当記事を参考にしてAviUtlによるts→mp4エンコードができました。ありがとうございます。

ですが、一つ問題があります。
私の環境では、エンコードで生成されたmp4動画の下に5pxほどの黒い縁ができてしまっているのです。(黒ベタというのでしょうか)
設定は殆ど当記事の通りに行ったのですが、この現象は管理者様の環境でも起きていますでしょうか。
もしそうでしたら、それをどのように解決されたのでしょうか。(あるいは解決されていないのでしょうか)
もしもそうでなくとも、考えられる原因や解決方法などをご教示して頂けたら幸いです。

追記すると、元動画の解像度は1440*1080でエンコード後の目的解像度は1280*720です。
リサイズフィルタの設定は記事と同様にしております。
>・「追加」ボタンを押して解像度に「1280x720」を追加
>・輝度、色差を「Spline36」に設定
>・SIMDを「SSE2」に設定
>・右上のチェックボックスにチェックを入れておく(フィルタが有効になります)

お手数ですがよろしくお願いいたします。

Re: エンコード後に発生する黒縁について

DGIndexで下8ピクセル分余白が出来るのは仕様です。
なので、フィルタにあるクリッピング&リサイズで下8ピクセル引き伸ばしてください。

No title

解決できました。
迅速なお返事ありがとうございます!

音声のエンコード

こんにちは。音声のエンコードで疑問に思ったことがあるので質問させてください。
音声エンコーダをFakeAacWav(FAW)に設定した場合エンコードに失敗してしまいます。
この記事の中には、FakeAacWav(FAW)でaac音声ファイルを擬似wav化する工程が書かれていないと思うのですが(見落としていたらすみません)疑似wav化しなくてもよいのでしょか?
もしくはVBSを改良する必要がありますか?
お手数ですがよろしくお願いします。

Re: 音声のエンコード

> こんにちは。音声のエンコードで疑問に思ったことがあるので質問させてください。
> 音声エンコーダをFakeAacWav(FAW)に設定した場合エンコードに失敗してしまいます。
> この記事の中には、FakeAacWav(FAW)でaac音声ファイルを擬似wav化する工程が書かれていないと思うのですが(見落としていたらすみません)疑似wav化しなくてもよいのでしょか?
> もしくはVBSを改良する必要がありますか?
> お手数ですがよろしくお願いします。

すんません、最近設定周り全然見てないので、記憶があいまいですが、
多分、「AACをFAWとして読み込むプラグイン」を使ってAACを直接読んでます。

このプラグインを使えば擬似WAV化は必要無いはずです。
「FAWからAACを抽出する出力プラグイン」を作られているRuticeさんとこから
入手できますので、試してみてください。

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

PCソフト

Amazon
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。