スポンサーサイト

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

DupMC2Def(自動VFR化補助ツール)を使ってみる

DupMC2Def


DupMC2Defという自動VFR補助のためのツールを使ってみます。

logoGuillo(自動CMカットツール)と合わせて使うことで、
自動CMカット&自動VFRエンコードもできます。


もくじ
1.ダウンロード
2.インストール
3.つかいかた基本(簡略版)
4.batファイル例。



1.ダウンロード
DupMC2Def

up0805.zip DupMC2Def 0.1.1.7
CRC
MD5

公式サイト
ささみし
http://sasamisi.blog24.fc2.com/

2.インストール
DupMC2Def(自動VFR化補助ツール)
※解凍して、中身をエンコード用フォルダ(batファイル例では、D:\encode20111228です)の中に置くだけです。

Avisynth(省略)
DeDup(こちらも解凍して、置くだけです。(例では、C:\Program Files\AviSynth 2.5\plugins))
・・・
・各種プラグイン
ReduceFlicker(置く場所が違います。注意。)
※ReduceFlickerを使うには、AvsRecursion.dll(Avisynthのプラグインではない)が必要です。
置く場所は、Avisynthのプラグインフォルダではありません。






3.つかいかた基本(簡略版)
(1)DupMC2Defの手順。
※とりあえずの使い方しか試してませんので、こちらのbatファイルは自己責任で使ってくださいね。
☆①bob化
☆②DupMCで処理、DupMCのログファイルを得る
 ③縞検出
☆④DupMC2Defで処理(DupMCのログ等を参照し、ItsのDefファイルを出力)
☆⑤ItsでVFR化(手動or自動)




(2)batファイルでどのように利用する?
①avsファイルの生成(手動 or 自動) 
②エンコード前に、CMカットをしておきます(手動 or 自動)。 ←logoGuilloは①の前でも可
③DupMCのログファイルを作成。 
④DupMC2Defで、Itsのdefファイルを自動生成 ←DupMC2Def
⑤Itsのdefファイルを利用して、エンコード




4.つかいかた例(バッチファイルでのDupMC2Defの使用例)

こちらで整頓中。ファイル名等が残念なのは、、、あきらめてください・・・m(_ _)m
http://soranikakaruhashi.blog.fc2.com/blog-entry-100.html

①動画ファイルからavs作成
gen_avs2_d2v_aac_20111228_Common.bat(avs作成)
dgindex_d2v_aac_audiodub_Common.avst(その中身)
※①のavs作成前にlogoGuilloでCMカットしてある場合、①のavs作成時に自動記述されるようにしてあります。

②手動CMカット
自分でCMカットします。Trimで、CMカットします。
※①で作成したavsをテキストエディタ等で開いて自分で記述します。

③自動VFRエンコード(mp4作成まで)
encode_crf21_for_24fps_1280x720auto-test_AutoVFR(DupMC2Def)00.bat




5.
(1)batファイル例1(旧テンプレ)


(2)batファイル例2(新テンプレ) encode_crf21_for_24fps_1280x720auto-test_AutoVFR(DupMC2Def).bat
@echo off
setlocal
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-100.html#DupMC2Def
cd /d %~dp0

rem 作業開始
:encode


rem 説明
rem このbatファイルには、avsファイル(※)を入力する
rem ※処理の都合上、空に架かる橋ブログでのavs生成batファイルで出力したavsファイルのみ。
rem  gen_avs2_d2v_aac_20111228_Common.bat

rem ①ログ出力。ログ出力用avsファイルを作成(↓以下のsample.avsと同じ形式)
rem ②Dupmc2Defを使用。
rem ③mp4


rem sample.avs
rem #LoadPlugin("ReduceFlicker.dll")
rem #LoadPlugin("DeDup.dll")
rem #LoadPlugin("TIVTC.dll")
rem 
rem #ソース読み込み
rem MPEG2source("datafile.d2v")
rem 
rem #横リサイズ
rem BilinearResize(960,last.height)
rem 
rem #縞検出
rem writefilestart("combed_log.txt", """ "header" """)
rem writefile("combed_log.txt", "current_frame", """ "," """, "IsCombedTIVTC(MI=160,blockx=16,blocky=32)")
rem 
rem #TFM&フレーム上書き
rem #video=last
rem #TFM(mode=0,pp=0,slow=0,blockx=16,blocky=32,output="tfm_log.txt",micout=1,micmatching=0)
rem #Overlay(video,opacity=1)
rem 
rem #60fps化&縦リサイズ
rem Bob(height=540)
rem 
rem #フリッカ低減&ボカシ&DupMC
rem ReduceFlicker(strength=2)
rem Blur(1.0)
rem DupMC(log="dupmc_log.txt")
rem 
rem return last
















:DupMC2Def01
rem ①ログ出力用avsファイルの作成
rem avs名
set avs_file01=DupMC2Def01.avs
type nul > %avs_file01%

echo avsファイルからソース読み込み
echo 映像部分(MPEG2Source or MPEG2VIDEO)

type "%~1">> %avs_file01%
echo. >> %avs_file01%

rem テンプレ(新)
echo BilinearResize(960,last.height)>> %avs_file01%
rem #縞検出
rem writefilestart("combed_log.txt", """ "header" """)
rem writefile("combed_log.txt", "current_frame", """ "," """, "IsCombedTIVTC(MI=160,blockx=16,blocky=32)")
rem 
rem #TFM&フレーム上書き
rem #video=last
rem #TFM(mode=0,pp=0,slow=0,blockx=16,blocky=32,output="tfm_log.txt",micout=1,micmatching=0)
rem #Overlay(video,opacity=1)
rem 
rem #60fps化&縦リサイズ
echo Bob(height=540)>> %avs_file01%
rem 

echo #blank=BlankClip(width=240,height=120)>> %avs_file01%
echo #Overlay(blank,x=40,y=10,opacity=1.0)>> %avs_file01%

rem #フリッカ低減&ボカシ&DupMC
echo ReduceFlicker(strength=2)>> %avs_file01%
echo Blur(1.0)>> %avs_file01%
echo DupMC(log="dupmc_log.txt")>> %avs_file01%
rem 
echo return last>> %avs_file01%



rem テンプレ(旧)avs記述例にしたがって、avs作成。このavsをつかって、入力用のログを作成。
rem MPEG2source("datafile.d2v")
rem Import("trim.avs")
rem writefilestart("combed_log.txt", """ "header" """)
rem writefile("combed_log.txt", "current_frame", """ "," """, "IsCombedTIVTC(MI=160,blockx=32,blocky=16)")
rem Bob()
rem PointResize(1280,720)
rem #PointResize(720,480,190,10,1060,1060)#SD用
rem ReduceFlicker(strength=2)
rem Blur(1.0).Blur(1.0).Blur(1.0)
rem DupMC(log="dupmc_log.txt")

rem avs記述例にしたがって、avs作成。このavsをつかって、入力用のログを作成。
rem ReduceFlickerを使う時、~が必要(ReduceFlickerをプラグインに入れると、~を用意するまでダイアログ表示がでる)
rem MPEG2source("datafile.d2v")
rem Import("trim.avs")
rem #writefilestart("combed_log.txt", """ "header" """)>> %avs_file01%
rem #writefile("combed_log.txt", "current_frame", """ "," """, "IsCombedTIVTC(MI=160,blockx=32,blocky=16)")>> %avs_file01%
rem #Bob()>> %avs_file01%
rem #PointResize(1280,720)>> %avs_file01%
rem #PointResize(720,480,190,10,1060,1060)#SD用>> %avs_file01%
rem echo blank=BlankClip(width=300,height=150)>> %avs_file01%
rem echo #Overlay(blank,x=80,y=20,opacity=1.0)>> %avs_file01%
rem echo #ReduceFlicker(strength=2)>> %avs_file01%
rem echo Blur(1.0).Blur(1.0).Blur(1.0)>> %avs_file01%
rem echo DupMC(log="dupmc_log.txt")>> %avs_file01%
rem echo ConvertToYV12>> %avs_file01%


:DupMC2Def02
set avs_file02=DupMC2Def02.avs
type nul > %avs_file02%
echo LoadCplugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll")>> %avs_file02%
type "%~1">> %avs_file02%
echo. >> %avs_file02%

echo its(def="time_AutoVFR(DupMC2Def).def", fps=-1, output="encode_AutoVFR(DupMC2Def).tmc")>> %avs_file02%
echo. >> %avs_file02%

echo # YV12で最終出力。>> %avs_file02%
echo ConvertToYV12>> %avs_file02%
echo. >> %avs_file02%

echo LanczosResize(1280,720)>> %avs_file02%
echo #BilinearResize(1280,720)>> %avs_file02%
echo. >> %avs_file02%

echo ##### ワープシャープで輪郭をすっきりさせる>> %avs_file02%
echo WarpSharp(95,3,85,0)>> %avs_file02%
echo. >> %avs_file02%

echo ##### アンシャープマスクでボケた映像を鮮明にする>> %avs_file02%
echo UnsharpMask(32,8,38)>> %avs_file02%
echo.>> %avs_file02%


echo return last>> %avs_file02%
echo.>> %avs_file02%

echo function TIVTC24P2(clip clip){>> %avs_file02%
echo 	Interp = clip.AssumeTFF().SeparateFields().SelectEven().eedi3(dh=true) >> %avs_file02%
echo 	Deinted=clip.TDeint(order=1,field=1,edeint=Interp) >> %avs_file02%
echo 	clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted) >> %avs_file02%
echo 	clip = clip.TDecimate(mode=1) >> %avs_file02%
echo 	return clip >> %avs_file02%
echo }>> %avs_file02%
echo.>> %avs_file02%


rem #############################
rem やること(DupMC2Def EasyVFR
rem 1
rem 2
rem DupMC2Def タイムコード
rem 3本エンコ
rem #############################


rem set DOPT=-lc
rem set DRAT=-br 192000 -2pass
rem set DTH=auto

set OPT=-lc
set RAT=-br 192000 -2pass
set TH=auto

echo ***************************************
echo **          音声エンコード           **
echo **          オプション指定           **
echo ** AAC-LC=-lc HE-AAC=-he 無記入=-lc  **
echo ** aacgainを使用する場合はlcにする   **
echo ***************************************
rem set /p OPT=
echo **********************************************
echo **     音声ビットレート指定(-mode bps)      **
echo **           ABRの例「-br 128000」          **
echo ** VBRの例「-q 0.4」(0.4=128k 0.5=192k相当) **
echo **         無記入 = -br 192000 -2pass       **
echo **********************************************
rem set /p RAT=
echo **********************************************
echo **          スレッド数              **
echo **            無記入 = auto                 **
echo **********************************************
rem set /p TH=

rem if "%OPT%"=="" SET OPT=%DOPT%
rem if "%RAT%"=="" SET RAT=%DRAT%
rem if "%TH%"=="" SET TH=%DTH%

rem 作業開始
rem :encode
rem ファイルネーム代入
set FN="%~n1"

rem 半角#でmp4boxが落ちるので変換。あとで戻す。
echo #→#変換 ※mp4boxが使えないため
SET FN0=%FN%
SET FN=%FN:#=#%

echo オリジナルネームFN0 %FN0%
echo 半角#⇒全角#  FN %FN%

echo ***************************************
echo **            音声出力             **
echo ***************************************
avs2wav "%~1" %FN%wav.wav

echo ***************************************
echo **       エンコード中(音声)          **
echo ***************************************
neroAacEnc -ignorelength %OPT% %RAT% -if %FN%wav.wav -of %FN%wav.m4a

rem PSP等用の高圧縮時設定
rem neroAacEnc -ignorelength -lc -br 84000 -if "tempwav.wav" -of "tempwav_mob.mp4"

echo ***************************************
echo **           音量調整中              **
echo ***************************************
aacgain /r /a /c %FN%wav.m4a
aacgain /g 2.0 %FN%wav.m4a

echo ↑音声処理(ビットレート指定&音量調整等)
echo →音声処理(無劣化Trim)
rem call "Lossless_Audio_Edit.bat" "%~1"

echo 音声ファイルの準備が完了しました。

echo ***************************************
echo **       エンコード中(映像)          **
echo ***************************************

rem 映像をAVSを元にx264でエンコードする
rem 右側にある--output部分に先ほど作ったAVSと、出力する映像を指定
rem 出力形式は.264(raw形式)と.mp4の2つで、サンプルではmp4で出力

echo エンコード開始…%time%

echo *******************************
echo ** 入力用のログを作成     **
echo *******************************
avs2avi DupMC2Def01.avs -c null -o n

rem x264 --preset ultrafast --tune fastdecode --merange 4 --no-psy --profile baseline --bitrate 0 -o nul DupMC2Def01.avs

echo 入力用のログ(dupmc_log.txt)を作成しました。



echo *******************************
echo ** ③縞検出
echo *******************************

echo ④DupMC2Defで処理(DupMCのログ等を参照し、ItsのDefファイルを出力)
rem DupMC2Def.exe "D:\encode20111228\dupmc_log.txt"
echo DupMC2Def.exe "%~dp0dupmc_log.txt"
rem DupMC2Def.exe "%~dp0dupmc_log.txt"

rem ★重要★ 入力ファイルはフルパスで指定★

rem ①DupMCのログ
DupMC2Def.exe -d "%~dp0dupmc_log.txt"

rem ④DupMCのログ + Trim
rem DupMC2Def.exe -d "%~dp0dupmc_log.txt" -t "%~dp0Trim.txt"

rem Trimファイル作成+不要な行を削除
rem type "%~1" | findstr "Trim" > "%~dp0Trim1.txt"
rem type "%~dp0Trim1.txt" | findstr /V "#" > "%~dp0Trim2.txt"

rem DupMC2Def.exe -d "%~dp0dupmc_log.txt" -t "%~dp0Trim2.txt"




rem -------------------------------------------
rem ・DupMCのログを参照する
rem 	DupMC2Def.exe "C:\dupmc_log.txt"
rem 
rem ・DupMCのログと縞検出フィルタのログを合わせて参照する
rem 	DupMC2Def.exe "C:\dupmc_log.txt" "C:\combed_log.txt"
rem -------------------------------------------

echo *******************************
echo ** 本エンコ          **
echo *******************************
rem x264 --crf 21 --level 4.1 --keyint 300 --min-keyint 1 --scenecut 65 --bframes 3 --8x8dct --trellis 2 --ref 4 --mixed-refs --subme 6 --no-fast-pskip  --sar 1:1 --no-dct-decimate  --tcfile-in "encode_AutoVFR(DupMC2Def).tmc" --timebase 1001/120000 --output %FN%temp.mp4 DupMC2Def02.avs
x264 --crf 21 --level 4.1 --keyint 300 --min-keyint 1 --scenecut 65 --bframes 3 --8x8dct --trellis 2 --ref 3 --mixed-refs --subme 6 --no-fast-pskip --sar 1:1 --no-dct-decimate  --tcfile-in "encode_AutoVFR(DupMC2Def).tmc" --timebase 1001/120000 --output %FN%temp.mp4 DupMC2Def02.avs


echo 映像の本エンコードが完了しました。

echo ***************************************
echo **       映像と音声の結合           **
echo ***************************************

mp4box -add %FN%temp.mp4 -add %FN%wav.m4a -new %FN0%_1280x720_AutoVFR(DupMC2Def).mp4

echo 映像と音声の結合が完了しました。

echo ***************************************
echo **        一時ファイルの削除         **
echo ***************************************

copy dupmc_log.txt %FN0%_AutoVFR_dupmc_log.txt >nul
copy time_AutoVFR(DupMC2Def).def %FN0%_time_AutoVFR(DupMC2Def).def >nul
copy encode_AutoVFR(DupMC2Def).tmc %FN0%_encode_AutoVFR(DupMC2Def).tmc >nul
echo 一時ファイルのコピーの保存が完了しました。

del dupmc_log.txt
del time_AutoVFR(DupMC2Def).def
del encode_AutoVFR(DupMC2Def).tmc

if exist %FN0%_1280x720_AutoVFR(DupMC2Def).mp4 (
del %FN%wav.wav
del %FN%wav.m4a
del %FN%temp.mp4
rem del %FN%temp_vfr.mp4

rem 無劣化音声処理用
rem del %FN0%_aacedit_Trim.aac
rem del %FN0%_FAW.avs
rem del testaac_FAW.wav
rem del testaac_FAW_Trim.wav
rem del %FN0%_FAW_Trim_kaijo.aac




rem echo #→#変換(うまくいかないのでmp4boxの出力で直接)
rem ren %FN%_1280x720.mp4 %FN0%_1280x720.mp4
rem echo リネーム完了

echo 一時ファイルの削除が完了しました。
)





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

endlocal
rem pause
exit /b
簡易Q&A Q1.VFRってなに? Q2.鬼混合 Q3. ・・・※この記事は書きかけです




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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。