スポンサーサイト

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

Avisynthでエンコード

Avisynthでエンコード

色々なことができます。
・半自動エンコード
・自動エンコード
・自動CMカット


書きかけの記事です。各所、整理できていない部分があるかもしれません。
※かなり書き加える予定なので、編集作業中は整理できていない部分が多数あるかもしれません


※☆必須、○どちらか必須
00.導入(各種ソフトインストール等)
☆(1)Avisynth(Avisynthを利用したエンコードなので必須)
○(2)AviUtl or VisualDub or AvsPmod(動画編集用)

☆(3)DGIndex(映像編集用ファイル(d2v)と音声ファイル(aac)作成)
☆(4)ts2aac(音声。TSファイルからaacファイルを作成)
☆(5)NeroAACEnc(音声。WAVファイルからAACファイルを作成)
☆(6)aacgain(音量調整
☆(7)avs2wav(avsファイルからwavファイルを作成)
☆(8)x264(mp4の映像部分の作成)
☆(9)mp4box(映像と音声からmp4作成。)

(10)プラグイン

(11)FakeAacWav(略称FAW、偽装WAVファイル化と解除。無劣化編集したい場合)
(12)aacedit(こちらでもaacの無劣化編集可

(13)logoGuillo(自動CMカット)
(14)TsSplitter


01.Avisynthでエンコード
 (1)前処理(エラーチェック、TsSplitter等)
☆(2)DGIndexで映像編集用ファイル(d2v)と音声ファイル(aac)に分離
 (3)ts2aac等(aacを作成。DGIndexでのaacに問題ある場合等)
 (4)FakeAacWav(偽装wavの作成。音声の無劣化処理をしたい場合)
 (5)aacedit(aacの無劣化編集
☆(6)avsの作成(映像と音声を読み込むためのもの)
☆(7)CMカット(AviUtl等を利用)
☆(8)エンコード(映像、音声を作成し、最後にmp4にする。偽装WAVの場合は要解除。)

 (9)自動エンコード(01.(1)~(7)の作業のほとんど(CMカット以外)は自動で行える。CMカットしなければ全自動エンコ)※CMカットを自動でするにはlogoGuilloを利用します。
 (10)自動CMカット(logoGuilloを利用。自動CMカット)
 (11)自動CMカット&自動VFRエンコード
VFR化(DupMC2Def or ConvEV or AutoVfr)


02.batファイル(バッチファイル)でエンコード
☆(1)batファイル例①(01.(8)エンコード(CMカット等手動)で利用するもの。)
 (2)batファイル例②(01.(9)自動エンコード(CMカットなし)で利用するもの。)
 (3)batファイル例③(01.(10)自動CMカットエンコードで利用するもの。)
 (4)batファイル例④(01.(11)自動CMカット&VFRエンコードで利用するもの。)

03.Avisynthで各種プラグイン各種フィルタを使ってみる
04.その他ツール




・・・・・
以上は、編集後

以下は、編集前
-------------------
もくじ

・Avisynthのインストール
・Avisynthの使い方
・Aviutl

・エンコード手順
・エンコード設定
・batファイル(バッチファイル)の具体例
・自動エンコード


・DGindex

※書きかけ記事です。各所、整理できていない部分があります。




・Avisynthのインストール
省略。あとで書く。
・Avisynthの使い方


・Aviutl




・エンコード手順
基本的な処理は、こんな流れ。
TS->d2v(DGIndex)+aac->avs(avisynth)->mp4
バッチファイルを利用することで、自動化できる部分がほとんどです。
※logoGuilloを利用すれば、自動CMカットエンコードが可能です。

別の記事では、この手順にlogoGuilloの処理を混ぜ込みます。
バッチファイルは後で後悔・・・、もとい、あとで公開します。



・どのようなバッチファイルを用意するか。
TS->d2v(DGIndex)+aac->avs(avisynth)->mp4

この流れ、すなわち、
①個別のTSファイルごとに、d2vとaacを作成
②d2vとaacを書き込んだavsファイルを作成
※avs作成時に、logoGuilloの処理を混ぜ込めば、自動CMカットが可能。

③作成したavsファイルを使って、mp4にする
をバッチファイル内で処理する。



・それで、どのようなbatファイル(バッチファイル)を書けばよいか。
バッチファイルを公開している人もいるのでそちらを参考にして作成します。

※私が使っているバッチファイルを、ここにメモしておけば解決なのですが、
(使いにくい部分があるので)記事にするにあたり、新たなものを(テキトーに)作成し、
おかしなところがないか点検中のため・・・。
HDDがカオスなので、その整理と空き領域確保まで点検作業中断・・・。


batファイル(バッチファイル)は、いろいろな方が公開されていると思いますが、
そのなかでも、こちらのものが簡単(内容が複雑でなく、理解しやすい)と思われるので、
とりあえず、今回は、こちらのものをサンプルとして利用して改良していきます。





改良の概要(詳細は、↓の☆サンプルで改良しておきたい点☆を参照
・個別の動画ごとにavsファイルを作成したい
・batファイルは、複数の動画ファイルに対応したい
・ts2aacに対応したい
・DGindexが止まらないように対応したい








☆サンプルで改良しておきたい点

avsの作成
・個別の動画ファイルごとに、個別のavsファイルを作成する

⇒template.avsを用意しておけば、DGindexでもできる。
だが、template.avs以外の形式では書けない。
⇒今回は、avs作成するバッチファイル

avsファイルをエンコード用のフォルダ内に作成する。
avs作成時に、生成する必要があるaacファイルなどは、動画ファイルと同じフォルダ内に作成する
あとで、ts2aacの作成するaacファイルにも対応する

・aacファイルの読み込みに対応したい

⇒avs生成batファイルのアイデアをいただいて、都合に合わせて改良。
⇒avs生成batファイルのアイデアをいただいてaacに対応。
⇒ts2aacの作成するaacファイルへも対応。



エンコード用batファイルの作成
・個別の動画ファイルに対応したい。
(複数の名前の異なるTSファイルをbatファイルにドラッグアンドドロップしても利用できるようにしたい)
(batファイルの中身を変更することなく利用できるようにしたい。


※省略※※
※avsファイルをコピーして一定の名前に変更するなどすれば、できないことはないが、
エンコードが重なると、ファイルを上書きして中身が異なるものになり、失敗すると思うので、注意する必要がある仕様。
なので、新しくavs作成バッチファイルを用意する。
※省略※※



その他、解決しておきたい問題(すでに解決済み)

・DGindex ダメ文字 コード
ファイル名に [ あるいは ] などが含まれる場合。CUIでDGindexがとまってしまう。
ファイル名に[字]とかが含まれる場合ね。

その他、DGindexのダメ文字(※)がある場合も、とまってしまう
DGindexでのダメ文字例 http://unkar.org/r/avi/1197696602 669,758,766,768,770,771,772等
‐ゾЬⅩ云馨犠珪江讃従疹曽綻転脳評望余肋兢咯嫋彎拆枉歉濔畩秕緇臂蘊訃躱鐓饐鷯偰硎褜猤

⇒※ -SDオプションで解決。

%dgindex_path% -SD=? -IF=?%~1? -OF=?%~dpn1? -exit





・BS11の音声対応(そのほか新BSなども?未確認。)
2011年4月以降のBS11で放送された番組のTSファイルを使い、
DGindexで作成したaacファイルを利用すると、音声が悲惨なことになる。
aacでプツプツ切れる音。wav化すれば音声はもはやただの雑音と化す。

⇒ts2aacで解決
(or 有志改良のDGindexのソースを利用してみる。ビルドが必要です。

※ts2aacの用意するaacのファイル名が、DGindexが作成するaacファイル名と異なるため、
DGindexのtemplate.avsの利用ができないと思う。
⇒batの工夫で対応。



・DGIndexで音声を出力しないようにするには(DGIndexで音声出力せず、ts2aac利用する場合)
⇒bat内では、ts2aacを使う前に、DGIndexが出力したaacを探し出して削除するようにしてあるが、
 オプションの設定で出力させないようにすることもできるはず。
⇒有志修正ソース適用したDGIndexを利用するのであれば、ts2aacを使うこともないので、出力させないようにする必要もない…。



・映像や音声がドロップ…
  このブログ内のbatファイルの処理では、
  ts2aacの利用によりドロップ地点から音ズレしたり、
  エンコードの際のwav変換の際に音声がおかしくなってしまうことがあるかもしれない。
⇒DGIndexを利用してd2v,aacを作成すれば、音ズレしなくなり、
 このaacをup1195 FAAD 改造版 0.7 TS読み込み対応などでwav変換すれば、ドロップ地点から音声がおかしくなることもないと思われる。
 BS11など、公式配布版DGIndexで音がおかしくなる局については、有志修正版ソースを適用したDGIndexを用意する必要がある。


### ソースファイルの読み込み ###
video = MPEG2Source("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス.d2v")
a1 = WavSource("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス PID 1041 DELAY 0ms.wav")
a2 = WavSource("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス PID 1041 DELAY 0ms[1].wav")
a3 = WavSource("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス PID 1041 DELAY 0ms[2].wav")
a4 = WavSource("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス PID 1041 DELAY 0ms[3].wav")
a5 = WavSource("D:\Videos\[無][新]TARI TARI #1 -20120707Sat-223000-230000-BSアニマックス PID 1041 DELAY 0ms[4].wav")
#audio = a1+a2+a3
audio = a1+a2+a3+a4+a5

AudioDub(video, audio)

###### 音ズレ補正 #####
#DelayAudio(-0.418)

↑元のavsからコピーして編集したりする際に、たまにDelayAudioのまえに#を入れ忘れてしまうことがある。
 この行を削除してもいい。

 この形式のavs生成batファイルは、
 http://soranikakaruhashi.blog.fc2.com/blog-entry-88.html#moreの(4)あたり。

 
・コマンドプロンプトの仕様問題(全角スペースを含むファイル名)
⇒kkcaldでのファイル名は全角スペースを半角スペースにしているはずなので、そもそも問題ないかも。
EDCB自体も全角スペースを半角スペースにしていた気がするような。

⇒半角スペースを入れれば解決。全角文字全角スペース全角文字半角スペースその他文字






・自動エンコード
別の記事参照

詳しくは別記事参照(logoGuilloを利用します、書きかけ記事)
基本的な以下の手順に、logoGuilloの処理を混ぜ込みます。
TS->d2v(DGIndex)+aac->avs(avisynth)->mp4



・エンコード設定
各人の好みによって最適な設定が変わります。
設定や番組内容によって、画質やファイルサイズが変化します。

※番組内容
アニメなのか実写なのか、によっても必要な設定が変わると思います。


こちらの設定を参考にしています。
(どこか忘れたので、あとで調べて更新)




表示テスト(公開予定のbatファイルの一部を先行公開。不具合があっても、責任は持てません。自己責任で。
DGIndex.bat
@echo off
setlocal
rem set error=ファイルが存在しないか、ファイル名・拡張子が間違っています
rem if not exist "%1" echo %error%
rem if not exist "%1" pause

rem ### DGIndex.exeのパス ###
SET DGIndex="C:\DTV\dgmpgdec158\DGIndex.exe"

%DGIndex% -SD=? -IF=?%~1? -OF=?%~dpn1? -minimize -EXIT >nul

endlocal
rem pause
exit /b


ts2aac_tsD&D用-B_for_encode.bat
SETLOCAL
@echo off
rem オリジナル→ http://pc11.2ch.net/test/read.cgi/avi/1234673901/297
rem tsファイルのD&Dでts2aacを実行

SET ts2aac_exe="%~dp0ts2aac.exe"

:start
if "%~1" == "" goto end
if not "%~x1" == ".ts" goto next_file

cd /d %~dp1
echo %1
%ts2aac_exe% -i "%~nx1" -o "%~n1" -B -D > "%~n1.ts2aac.txt"
SET AAC=""
FOR /F "tokens=1,2* delims=:" %%i in ('type "%~n1.ts2aac.txt"') do if "%%i" == "outfile" set AAC="%%j"
if %AAC% == "" goto next_file
echo %AAC%を作成しました。


:next_file
shift
goto start

:end
echo 完了しました
rem pause
ENDLOCAL
exit /b




gen_avs2_d2v_aac_20111228.bat
※長いので省略。

rem ### ソース読み込みテンプレートのパス ###
set input_filter_template="dgindex_d2v_aac_audiodub.avst"



dgindex_d2v_aac_audiodub.avst





Auto-encode-test_20111228_BS11.bat
Auto-encode-test_20111228_BS11_logoGuillo.bat
rem @echo off
setlocal
rem 作業開始

:encode

rem avsファイル作成の前に、
rem Trim位置を用意
rem
rem logoGuilloは、各放送局のロゴを利用する自動CMカットなので、各局ごとにTrimコマンド生成batファイルを用意。
rem

rem ツール等
rem 固定値
set LOGOG_PATH=C:\DTV\logoGuillo_v200\logoGuillo.exe
set AVS2X_PATH=C:\DTV\logoGuillo_v200\avs2pipemod.exe
set AVSPLG_PATH=C:\Program Files\AviSynth 2.5\plugins\m2v_vfp\m2v.vfp

rem 動画ファイル名。録画ファイルごとに変動
rem set VIDEO_PATH=E:\Videos\Record_20111228-050944.ts
set VIDEO_PATH=%~1
echo VIDEO_PATH %VIDEO_PATH%

rem 各局ごと固定値(先にロゴ等を用意する必要あり)
rem lgdファイル名に日本語を使うと、GUIでの処理で文字化けするかも。
rem logoGuillo本体でも処理できないかも。

set LOGO_PATH=C:\DTV\logoGuillo_v200\BS11 1920x1080 new.lgd
set PRM_PATH=C:\DTV\logoGuillo_v200\Sample_Param\BS11.lgd.autoTune.param


rem 録画ファイルごとに変動
rem set OUTPUT_PATH=E:\Videos\Record_20111228-050944.ts.txt
set OUTPUT_PATH=%~dpn1.ts.txt

rem Trimコマンド生成
"%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH%" -outFmt trim -fldOdr unknown


echo Trimコマンドをとりいれてavsファイル作成
call "D:\encode20111228\gen_avs2_d2v_aac_20111228.bat" "%~1"

echo エンコード
call "D:\encode20111228\encode_crf26_for_30fps_1280x720auto-test.bat" "D:\encode20111228\%~n1.avs"

次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto encode

endlocal
exit /b




encode_crf26_for_30fps_1280x720auto-test.bat
encode_crf21_for_24fps_1280x720auto-test.bat
encode_crf21_VFR_1280x720auto-test.bat




AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
アニメゲームmusic

コメントの投稿

非公開コメント

プロフィール

空に架かる橋

Author:空に架かる橋
FC2ブログへようこそ!
このブログについて(プライバシーポリシー)
Amazon.co.jpアソシエイト
こちらのブログはたまに各種実験会場となるため、デザイン変更等により表示が遅くなったり、文字が読みにくかったりする場合があります。 そのうちなおりますm(_ _)m
記事の内容に問題がある場合は、ただちに記事内容の利用をやめてください。

カウンター

現在の閲覧者数:

DTV研究
検索フォーム
カテゴリ
PT3 (3)
最新記事
最新コメント
最新トラックバック
月別アーカイブ
Amazonランキングテスト3.2
内容:

カテゴリー:

ノード:

アダルトを
選択しない 表示しない
※カテゴリー変更後に有効
RSSへのリンク
TGテストエリア
テストエリアb
AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。