PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

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

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

QSVEncC+avisynthで高速自動エンコードする その1

以前の記事では、AviUtl Controlで一括エンコードを書きました。
これはこれで便利なのですが、やはりコマンドで録画直後に自動でエンコードした方が楽です。
視聴時にはmp4で見ればエラーチェックもできますしね。
というわけで、必要なファイルや説明等を書いて行きたいと思います。
この方法でも一括エンコードは可能です。

かなり前に書いた下の記事を一部参考しています。似通った部分はこちらの方が詳しい場合があります。
Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その1 Firefoxは情弱のたしなみ

QSVってなに?自分もできるかな?という人は以下の記事を御覧ください
Aviutl+QSVでエンコードしてみる(core i7 3770+Z77) Firefoxは情弱のたしなみ

難易度は上がりますが、自動CMカットなどの機能をつけたスクリプトも作りました。
PowerShell + QSVで自動エンコード・自動CMカット part1 Firefoxは情弱のたしなみ
スポンサーリンク



エンコード方針
・主に地上波アニメの録画TS想定(1話30分約2.4GB)
・時間をかけず、高画質
・CMカットなどの編集はしない(
CMカット出来るソフト
・CMロゴ除去などのフィルタは使わない
・インターレースは保持
・ファイルサイズは大体1GB以下であればOK(1話平均800MB)
・リサイズ無しでオリジナルサイズ
・インタレ解除、フィルタは再生プレーヤー依存(後ほど説明)
大体1話800MB、8分程度(corei7 3770)でエンコードが終わります。
TS保持派だったので、ほぼソースと同じ画質で、容量を3分の1近くに短時間で減らせるのは魅力です。
編集したい方は有用な記事では無いかもしれません。あと、aviutl、tvtest、tvrockが使えてる人対象です。

簡単な流れ
TVRockの後処理コマンドに記述する事になります。
1.録画したTSファイルがDGindexによりd2v、aac、avsが作成される
2.avs2pipemodでavsをQSVEncCに渡し、d2vを264ファイルにqsvエンコード
3.aacをFAWで偽装WAV化してディレイカット、即偽装解除
4.MP4boxで264とaacを合成
5.終わり
 
必要なソフト類
ソフトウェア
Avisynthスクリプトベースのビデオ編集ソフトウェア。公式の2.5.8版を使っています。
AvsPAVSファイルのエディタです。メモ帳でもいいですが見やすいです。
TsSplitterTSファイルから不要なデータを削除します。(30分アニメなら300MBくらいカットできます)
MP4Box映像(d2v)と音声(aac)して合成してmp4動画ファイルを作る
DGMPGDec 1.5.8同梱の『DGindex』を使います。TSをd2v(映像)とaac(音声)に分割します。
※通常のDGindxはバグが原因でBS11などBS放送では音声に異常がおきます。
有志の方が改造したソースがあるので
ここを参考にビルドして下さい。
QSVEnc(作者ブログ)肝のQSVエンコーダ。aviutl用のGUI版もありますが、自動化のためにCUIを使います。
avs2pipemod後ほど説明しますが、avsとQSVEncCを繋ぐパイプ、仲人役と思えば良いと思います。
FakeAacWav(1009.zip)aacをwavに偽装して無劣化で編集できるようにします。
SCRename(18.zip)しょぼかるから番組名、話数、タイトル、放送局を取得しリネームする。
 
Avisynthプラグイン
DGDecode.dll上のDGMPGDecに入っています。DGindex作成のd2vをAvisynthで読込みに必要
BassAudio.dll
bass.dll
bass_ac3.dll
bass_aac.dll
BASSオーディオライブラリを使った音声入力プラグイン。
数多くのファイルフォーマットに対応。これらで分割したaacを音声を読み込みます。
※BassAudio.dllとbass.dllが使えない場合は、こちらのdllを試してみて下さい。
MT.dll
avisynth.dll
マルチスレッドモードでエンコードが可能になります。「dlls」をダウンロード。 (参考)
MT.dll→avisynthのpluginフォルダへ
avisynth.dll(MT対応修正版)→"C:\WINDOWS\system32"にavisynth.dllがあるので、
MT対応修正版と差し替える。(win7x64はC:\Windows\SysWOW64)要バックアップ!
一応32bit統一になっているはずです。
とりあえず上の必要になるのでダウンロードしてください。結構分かり難いところにあるものもあります。
こういうファイルは結構リンクが切れてたりするので、もし切れてたらぐぐってみてください。


インストール
ダウンロードできたらインストールしましょう。まずAvisynthを普通にインストールしてください。
そして、Program Files→AviSynth 2.5→pluginsでプラグインフォルダを開きましょう。
そこに上のAvisynthプラグインをavisynth.dll以外全て入れてください。

avisynth.dllは上にもあるようにC:\Windows\SysWOW64に入れます。
すでにavisynth.dllがあると思うので、avisynth.dll.bakとし、ダウンロードしたavisynth.dllに差し替えてください。

他のソフトウェアは自由に置いて貰って構いません。が、
ここではCドライブ直下に「avisynth」と言うフォルダを作り、その中に「program」を作ります。
TsSplitterやMP4boxなどは全部programフォルダに入れておいてください。
肝のbatファイルやavsファイルはavisynthに入れることにします。

AVSスクリプト
早速AVSスクリプトの説明を。編集しないので短いです。
AVSファイルの作成はテキストファイル作成して拡張子をavsにすれば良いです。
以下の内容をメモ帳にコピペしavsファイルとして保存してください。
ここではファイル名を「template.avs」とします。これはC直下に作ったavisynthフォルダに入れてください。

SetMTMode(2,0)

#MPEG2読み込み
v=MPEG2Source("__vid__")
a=bassAudioSource("__aud__")
AudioDub(v,a)
DelayAudio(__del__)

return last

上のプラグインをプラグインフォルダに入れて無いと動かないので、入れてない方は入れておいてください。

上の色付けはエディタのAvsPでの見た目のような感じにしてあります。
簡単に説明するとTSファイルの指定、aacファイルの指定、ディレイの指定のみ行うものです。

SetMTModeはマルチスレッドでエンコード可能になります。
これはなくても動くのですが、使えるようにした方がエンコード速度が上がると思います。

まず「#」があるとその行はコメントになりますので、自分で分かりやすい様に書いてください。
必要ないのなら消してしまっても構いません。

基本的にavsを書き換える事はなく、TSをDGindexで読み込むと、上のtemplate.avsを元にして、
__vid__」「__aud__」「__del__」に自動的に値が入ったavsが新しく作成されます。


とりあえずここまで。次回はbatファイルについて説明します。
QSVEncC+avisynthで高速自動エンコードする その2 Firefoxは情弱のたしなみ

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

| エンコード | 22:05 | comments:4 | trackbacks:0 | TOP↑

BassAudio.dllのリンク先にあるファイルでは、avisynthが動作しませんでした。

http://behappy.codeplex.com/
からダウンロードしたbass.dll、bassaudio.dllを用いることで動作しました。

| | 2013/05/03 05:23 | URL |

あれ!?動きませんでしたか!
BassAudio.dllはハッシュ値は自分のとダウンロードが一致していますが、
bass.dllは一致しなかったですね。
前avisynth使ってた時の流用だったんで何か違ってしまったかもしれないですね。

情報感謝です。

| 管理人 | 2013/05/03 23:54 | URL | ≫ EDIT

AVSスクリプトの読み込みでmpeg2エラーが発生して
動画のエンコードができません。

どうしたらいいでしょうか?

| | 2015/04/24 00:48 | URL |

どういう状況、環境か詳しくわからないのですが、
考えられそうなのは、
・template.avsの記述ミス
・DGIndexで正常なavsが出力されていない
・バッチファイルの「QSVEncC」部分のコマンドが正常に動いていない
とかでしょうか。全体を見直すと共に、根本的にQSVが動く環境かも確認した方が良いです。

| 管理人 | 2015/05/02 18:04 | URL | ≫ EDIT















非公開コメント

http://higitune.blog106.fc2.com/tb.php/99-8dfe1e47

PREV | PAGE-SELECT | NEXT

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