fc2ブログ

PREV | PAGE-SELECT | NEXT

≫ EDIT

Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その1

今まではTVRockで録画していたアニメのtsファイルなどはaviutlで編集・エンコードしていましたが、
それよりも速くエンコードできるAvisynth+CLIを導入したので忘れないうちにメモ。
この記事はすでにTVtestとTVRockで視聴・録画出来ている人、aviutlで編集環境が出来ている人向けです。
コマンドラインは今も殆どわかってないのでご安心を。
PCで地デジ視聴録画についてよくわからない人はコチラ

目次
Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その1

Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その2
Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その3
Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その4

※より高速なエンコードにはQSVがおすすめです。
Aviutl+QSVでエンコードしてみる(core i7 3770+Z77) Firefoxは情弱のたしなみ

・はじめに
まずはこれらのサイトをかなり色々殆ど参考にしてたりしてます。ありがたやありがたや(  ̄ω ̄)人

Avisynthはaviutlと違ってGUIはなく、スクリプトを組んで動画編集します。エンコードの流れとしては、
  1. TS(mpeg2の一種で録画した動画ファイル)からd2v・aacファイルを抽出します
  2. AvisynthのAVSファイルにd2v・aacの場所指定、リサイズなどの編集情報を記述
  3. .batファイルにx264などのエンコード設定、出力先などの指定を記述
  4. avsファイルをbatファイルにドロップしてエンコード開始・mp4作成完了
冒頭に書いたようにAvisynthの一番のメリットは自分はエンコードの速度だと思います。
設定によりますが、aviutlで2時間程度の処理が、Avisynthだと40分ぐらいで出来たりします。
Avisynthが速くなる機能があるのではなく無駄な処理をしないで済むからだそうです。あとCPUをフルに使いますね。

早速用意するソフトのDLリンクと役割を書いておきましょう。

・用意するもの (とりあえずwindows32bitのみ。64bitOSでも動作はします。)
※相変わらずと言いますか、追加したり消したりするかもしれません。使わないモノは薄く表示します。

ソフトウェア(avisynth以外は任意のフォルダへ)
Avisynthスクリプトベースのビデオ編集ソフトウェア。これが無いと始まりません。
DGMPGDecTSをd2v(映像)とaac(音声)に分割します。DGindexを使います。
TsSplitterTSファイルから不要なデータを削除します。(30分アニメなら300MBくらいカットできます)
AvsPAVSファイルのエディタです。aviutl等を起動して編集が正常か確認できます。
x264CLIで動く動画用のエンコーダです。32bit 8bit-depthを選びます。
Nero AAC CodecこれまたCLIで動く音声用のエンコーダ
MP4Box映像(mp4)と音声(aac)して結合して動画ファイルを作る
avs2wavavsファイルからwavを出力します。
SCRenameファイル名を元に、しょぼいカレンダーから一致する番組名にリネームします。
使用する理由はTVRockのファイル名置換だとサブタイトルが取得できない場合があるからです
ダウンロードはDTVアップローダの過去log見るとあります。
[すでに準備済みだろうと思われるもの]
aviutl定番の動画編集ソフトです。CMカット等の範囲指定、編集反映確認のみ使用します。
aviutlの導入について(x264)
TVtest地デジ・BS/CSデジタル放送を視聴するソフトです。
用意するものでなくて、すでにあるものですね。
TVRock地デジ・BS/CSデジタル放送を録画するソフトです。同上。後処理でも活躍します。
Avisynth2.5プラグイン(avisynthのプラグインフォルダへ)
warpsharp.dllwarpsharpパッケージに入っている、
数多くの有益なフィルタを含むwarpsharpプラグインとその他
DGDecode.dll上のDGMPGDecに入っています。DGindex作成のd2vをAvisynthで読込みに必要
delogo.dll透過性ロゴフィルタです。aviutlで解析したロゴプラグインを使用します。
BassAudio.dll
bass.dll
bass_ac3.dll
bass_aac.dll
BASSオーディオライブラリを使った音声入力プラグイン。
数多くのファイルフォーマットに対応。これらで分割したaacを音声を読み込みます。
MT.dll
avisynth.dll
マルチスレッドモードでエンコードが可能になります。「dlls」をダウンロード。
MT.dll→avisynthのpluginフォルダへ
avisynth.dll(MT対応修正版)→"C:\WINDOWS\system32"にavisynth.dllがあるので、
MT対応修正版と差し替える。(win7x64はC:\Windows\SysWOW64)要バックアップ!
MSharpen.dllノイズを増幅せずに、重要なエッジをシャープにするのに効果的なフィルタ
TIVTC.dll逆テレシネ。スクロール時のカクつきをなくします。
Aviutlプラグイン(aviutlのプラグインフォルダへ)
trim_export.aufAviSynth Script エクスポートに同梱している、
AviUtl上でのカット編集情報をAviSynthのTrimフィルタの形式で出力する
使用しているAvisynthフィルタ(Avisynth標準フィルタ)(warpsharp内蔵フィルタ)
SetMTModeMT.dllとavisynth.dllにより使用可。マルチスレッドでエンコードが可能に。
Trim標準装備。エンコード範囲をしています。
EraseLOGOdelogo.dllに内蔵。ロゴの付加や除去が可能。aviutlで解析したロゴファイルが必要です。
TDeintTDeint.dllに内蔵。動き適応型インターレース解除。横の縞々をなくします。
TDecimateTIVTC.dllに内蔵。逆テレシネ。スクロール時のカクつきをなくします。
AutoDeintwarpsharp.dllに内蔵。インターレース解除の際に使います。
ConvertToYUY2標準装備。色空間をYUY2に変換します。
LanczosResize標準装備。映像のリサイズが出来ます。
crop標準装備。各フレームの余分なピクセルを切り落とす。(左,上,-右,-下)
msharpenMSharpen.dllに内蔵。ノイズを増幅せずに、重要なエッジをシャープにする
UnsharpMaskwarpsharp.dllに内蔵。コントラスト強調/シャープフィルタ
WarpSharpwarpsharp.dllに内蔵。輪郭などをすっきりさせる


・録画完了~エンコード手順


1.録画ファイル(TS)からHDデータを取り出す(自動)
 TVrockの後処理で録画完了し*.TSが作成されると「TsSplitter」で、HD映像のみの*.TSが作成されます。
 HDのみのTSが作成完了すると、それが存在するか確認してから元のTSが削除されます。

2.TSから「D2V」「AAC」「AVS」を作成する(自動)
 同じく後処理で、新しく作成されたTSを元に「DGindex」により「*.d2v」「*.aac」と、
  テンプレートのavsに右2つのパスが書かれた「*.avs」が自動作成されます。ここまで自動です。

3.CMのカット情報や、その他編集情報をAVSに保存する(手動)
 「*.avs」をAvsPで開き、aviutlでエクスポートしたCMカット情報をavsに書き込みます。
 その他、ロゴ情報など変更する点があるなら変更します。
 編集情報は基本的にテンプレートのavsに書いてあるので編集は最小限で済みます。

4.AVSファイルとBATファイルを使ってエンコードする(自動)
 「*.avs」をすでに作成してある.batファイルに投げ込み、mp4が作成されます。
 BAT処理の内容は、
 ①x264でエンコード
 ②WAV出力開始
 ③WAVを元にneroAacEncエンコード開始
 ④mp4boxで結合
 ⑤SCrenameでファイル名をしょぼかるで検索してリネームする。
 終了!


だいたいこんな感じです。自分でソフト起動してとか、パス記述してとかだと面倒ですからbatで自動化しましょう。
手動でやる処理はCMカットと削除したい局のロゴを有効にするぐらいです。

基本的に『アニメエンコード道場』様が紹介している方法をベースとしていますが、
部分的に上にあるリンクのブログ様の方法を取り入れています。
とりあえずわからない方は道場の序章~第伍話まで一通りやってみるといいと思います。

とりあえず今回はここまで。次回はavsファイルについて説明しようかなと思います。
スポンサーリンク




関連記事
スポンサーリンク

| エンコード | 10:14 | comments:2 | trackbacks:0 | TOP↑

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

| | 2013/10/30 22:41 | |

Re: x264+FakeAacWavについて

うわー質問全然気づきませんでしたすみません。いつも管理画面見ないもので…

再度申し訳無いですが現状わかりません。
DGindex抽出aac確定は、ソース名からGindexで抽出されたaacを変数に入れる動作です。
なのでそこでエラーとなると、、
・DGindexでaacが正しい場所に出力されていない
・変数に問題がある
などでしょうか。元ソースが"ほにゃらら.ts"なら、
同じ場所に"ほにゃらら*ms.aac"が作成されてないと駄目です。

QSV+FakeAacWavでなく、x264+FakeAacWavを行いたいみたいですが、
書かれた2つの記事の組み合わせより「QSVEncC+avisynthで高速自動エンコードする その2」
のbatの"QSVEncC"の部分をx264用に書き換えた方が良いのかな?とは思います。

| 如月 | 2013/11/18 02:23 | URL |















非公開コメント

http://higitune.blog106.fc2.com/tb.php/23-419135ab

PREV | PAGE-SELECT | NEXT