f:id:daybreakdeath-03:20180225122613p:plain

序章 avisynthを使用したCLIエンコード

この記事をシェアする

スポンサーリンク

ある程度まとまってきたので、以前にも記事にしたように、avisynthの導入からエンコード出来るまでを解説していきたいと思います

avisynthについては私も分からない事が多いので、答えられない事もあるかと思いますが了承ください

また、よくコメントを残して下さる"Lapis様"の協力とサポートにより
最後の調整を行なう事が出来ました。大変感謝しております!

 

---------------------------------------------------------
●Lapis様のページエンコードメモ@ ウィキ
各作品のエンコード結果やアニメの感想をなさっておられます
---------------------------------------------------------

 

では、説明に入ります

 

第伍話 avisynth bat出力編

avisynth バンディング低減フィルタ GradFunkMirror

第肆話 avisynth スクリプトとフィルタ2

第参話 avisynth スクリプトとフィルタ1

第弐話 avisynth エンコードの流れ編

第壱話 avisynth 導入編

序章 avisynthを使用したCLIエンコード

 

今回は序章ということで、avisynthのメリット必要な物エンコードの流れ
この3つを説明していきます


■メリット
・エンコード速度の向上
 2時間かかるものが大体1時間ぐらいになるが、使用フィルタやPCスペックによる

・不必要な色空間の変換をしないで済む
 YV12 4:2:0をそのまま使用できる。無駄な色変換がないのでエンコ速度もUP

・編集が楽
 はじめが大変だが、一度仕組みが出来てしまえばすごく楽できる


■デメリット
・スクリプトを記述する必要があるのではじめがとっつきにくい



■必要な物

名称 配布先 説明
avisynth avisynth-wiki 本体なので当然です
TsSplitter DTV関係ツール tsファイルの内部データから余分なデータを取り除ける
DGMPGDec MPEG1/2 Decoder
and
Frame Server
TSファイルをd2v(映像)+aac(音声)に分けるために使います
FakeAacWav DTV関係ツール aac音声を劣化無しでwavに偽装できる。元にも戻せる
aviutl AviUtlのお部屋 CMカットする為に使います
VirtualDubMod VirtualDubMod CMカットする為に使います※1
Nero AAC Codec Nero AAC Codec aacまたはwavをmp4形式にします
MP4Box mp4box 映像と音声を合体する為に使います
avsファイル なし ここにavisynthのスクリプトを記述していきます。ファイル読み込みや、フィルタ適用もここで行なう※1
batファイル なし avsファイルを読み込みエンコードを開始するもの※1


※1これらのファイルはtextで作成します。textに記述した後、拡張子".txt"を".avs"や".bat"にするだけです



■エンコードの流れ
01.TsSplitterで録画したTSファイルの余分なデータを取り除く
02.DGIndexで映像(d2v)と音声(aac)に分離させる
03.FakeAacWavでaac音声をwavに偽装する(ここで音声の遅延修正を行なう必要あり)
04.avsファイルを作成し、d2vとwavを読み込めるようにスクリプトを記述する
05.aviutlでavsファイルを読み込みCMカット
06.aviutlのエクスポートからTrimを選択するとCMカット編集した内容が
   クリップボードにコピーされるので、それをavsファイルに貼りつける
07.新規textを作成し、エンコードする為のbatファイルを作成する
   偽装化していたwavはaacに戻すために、batファイルに記述して映像とまとめて処理します
08.avsファイルを摘んで、batファイルに当てればエンコードが開始されます
09.映像(mp4)と先ほどのaacをmp4boxで合体させてエンコード完了



●VirtualDubModでCMカットする場合
01.TsSplitterで録画したTSファイルの余分なデータを取り除く
02.DGMPGDexで映像(d2v)と音声(aac)に分離させる
03.FakeAacWavで音声をwavに偽装する
04.avsファイルを作成し、d2vとwavを読み込めるようにスクリプトを記述する
05.VirtualDubModでavsファイルを読み込みCMカット
06.VirtualDubModで編集した内容をvcfファイルとして保存
07.VirtualDubModでwavファイルだけを再圧縮なしで出力する
08.FakeAacWavで偽装していたwavをaacに戻す
09.avsファイルの音声部分にaacを読み込むようにスクリプトを再記述。
   さらに各フィルタ等も記述
10.avsファイルにvcfファイルを読み込めるようにスクリプトを記述
11.新規textを作成し、エンコードする為のbatファイルを作成する
12.avsファイルを摘んで、batファイルに当てればエンコードが開始されます

※VirtualDubは私もあまり使用してないので、CMカットにはaviutlを使用した説明だけにします


■注意書きとまとめ
※avsファイルをaviutlで読み込むには必要な物があります
※06.のTrimというのもaviutlに追加する必要があります
※今回はFakeAacWavでaacをwavに偽装化して行なう方法を記載しました
 理由は音声を劣化させないようにする為です
 ですが、別のやり方もあります
 aviutlエンコード方法で説明しているように
 最初からBonTsDemux ver.1.10 mod.10でm2v+wavにしてしまえば
 偽装化の手順はいりません
 音声の劣化が気になるレベルの人は偽装化したほうが良いと思いますが
 そうでなければ音声はaviutlと同じようにしてしまったほうが楽です



ふぅ結構長かった・・・
序章にしてはいろいろ記載しましたが、どうでしょうか?
なんとなく流れが分かってもらえればと思うのですが・・・
大変そうな感じですが、一個一個は大したこと無いのであきらめないでください
スクリプトやbatの記述、各フィルタ等は、次の章から順番に説明していきます
待てない方はavisynth-wikiを参考になさったほうが速いと思います

次回
第壱話 avisynth 導入編