スポンサーサイト

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

ConvEV(自動VFR化補助ツール)

ConvEVという、自動VFRツールがありました。


もくじ
1.ConvEVとは。
2.この記事の目的。
3.使い方。
4.batファイル例。





1.ConvEVとは。
ConvEVという、自動VFRツールがあります(した)。

作者は、chibakenminさん。
配布元の作者サイトは閉鎖しています。2011年8月ごろまであった・・・気がする。
最終公開版は、おそらくConvEV_124cだと思います。

2.この記事の目的。
全自動CMカット&VFRエンコードがまだ半稼働状態なので、
まだまだConvEVを使用していますが、
空に架かる橋ブログでは、今のところbatファイルの処理で、
ConvEVのほか、DupMC2Def、AutoVfrという自動VFRツール計3種の使い方を書いてあります。

ConvEVについて、
色々と忘れてしまう前に、自分のためにも、メモ。

3.使い方。
つかいかた例(ConvEV)
①avsファイルの生成(手動 or 自動)
②エンコード前に、CMカットをしておきます(手動 or 自動)。
③TIVTCのタイムコード(v1のみ対応)を作成。
④ConvEVで、EasyVFRのコードやItsのdefファイルを自動生成
⑤自動生成されたEasyVFRのコードやItsのdefファイルを利用して、エンコード


4.batファイル例)
batファイルの例です。(自己責任で参考にしてくださいね。整理中)
残念な仕上がりのbatファイルですが、参考になるのであれば参考にしてください。
こちらもちょっと書き直そうという試み・・・。avsファイルを各種自動VFR補助ツールで共通利用しようという試みです。
え?まだ残念?...m(_ _)m

→こちらで整理中。
 http://soranikakaruhashi.blog.fc2.com/blog-entry-100.html#ConvEV_EasyVFR
 

ぐちゃぐちゃしていているのでそのうち削除予定。
◇avs作成
gen_avs2_d2v_aac_20111228_ConvEV00_EDCB.bat(手動CMカットする場合用)
gen_avs2_d2v_aac_20111228_ConvEV00.bat
dgindex_d2v_aac_audiodub_ConvEV00.avst

◇encode用(同時に複数処理不可。※元のファイルを削除する前に、mp4の音声処理が正常にできているか、確認してください。
encode_crf21_for_24fps_1280x720auto-test_AutoVFR(ConvEV).bat

◇bat処理
TsSplitter&指定サイズ以上処理BS11_logoGuillo_AutoVFR(ConvEV).bat
Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV)_EDCB.bat
Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV).bat



具体例
◇avs作成
gen_avs2_d2v_aac_20111228_ConvEV00_EDCB.bat(手動CMカットする場合用)

rem @echo off
rem 作業開始

:encode
echo avsファイル作成
call "D:\encode20111228\gen_avs2_d2v_aac_20111228_ConvEV00.bat" "$FilePath$"


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



gen_avs2_d2v_aac_20111228_ConvEV00.bat
@echo off

rem #--- 初期設定 ---
rem ### AVS を出力するフォルダのパス ###
rem # デフォルト("%~dp0")はバッチファイルと同じフォルダ
set avs_output_directory="%~dp0"

rem ### バッチ実行時にソース読み込みテンプレートの指定を行うか否かの選択 ###
rem # 1: バッチ実行時に指定する。
rem # 0: バッチ実行時に指定しない(下記 input_filter_template で指定したファイルを使用)。
set specify_input_filter_template=0

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

rem ### プラグインの読み込みにオートローディング機能を使うか否かの選択 ###
rem # 1: プラグインのオートローディングを使用
rem # 0: LoadPlugin でプラグインを読み込む(要プラグイン読み込みテンプレート)。
set use_auto_loading=1

rem ### プラグイン読み込みテンプレートのパス ###
rem # use_auto_loading=0 の場合に必要。
set plugin_template="my_plugins_example.avst"

rem ### 1.0/2.0 用プラグインを使用するか否かの選択 ###
rem # 1: 1.0/2.0 用プラグインを使用する(要プラグインリスト、要 LoadPluginEx.dll)。
rem # 0: 1.0/2.0 用プラグインを使用しない。
set use_old_plugins=0

rem ### 1.0/2.0 用プラグイン読み込みテンプレートのパス ###
rem # use_old_plugins=1 の場合に必要。
set old_plugin_template="old_plugins_example.avst"

rem ### フィルタ連鎖テンプレートを挿入するか否かの選択 ###
rem # 1: 下記 filter_template で指定したファイルの内容をスクリプトの最後に挿入する
rem # 0: 挿入しない。
set insert_filter_template=0

rem ### フィルタ連鎖テンプレートのパス ###
set filter_template="filter_chain_example.avst"
rem #--- 初期設定終わり ---

echo ### AVS ファイル生成バッチ("%~nx0") ###
echo.

:error_check
rem ### エラーチェック 1 ###
rem # bat をダブルクリックなら即終了
if "%~1"=="" (
rem # エラーメッセージの設定
set error_message=入力ファイルを指定してください。
rem # ラベルerrorへ移動
goto error
)

rem # avs_output_directory が存在するかチェック
if not exist %avs_output_directory% (
rem # エラーメッセージの設定
set error_message=AVS を出力するフォルダのパスが間違っています。
rem # ラベルerrorへ移動
goto error
)

:change_cd
rem ### カレントディレクトリを入力ファイルのあるところに変更 ###
cd /d "%~dp0"

:check_plugin_template
rem ### エラーチェック 2 ###
rem # plugin_template のチェック(use_auto_loading が 1 以外の場合)
if not "%use_auto_loading%"=="1" (
if not exist %plugin_template% (
rem # エラーメッセージの設定
set error_message=%plugin_template% が見つかりませんでした。
rem # ラベルerrorへ移動
goto error
)
)

:check_use_old
rem # old_plugin_template のチェック(use_old_plugins が 1 の場合)
if "%use_old_plugins%"=="1" (
if not exist %old_plugin_template% (
rem # エラーメッセージの設定
set error_message=%old_plugin_template% が見つかりませんでした。
rem # ラベルerrorへ移動
goto error
)
)

:check_filter_template
rem # filter_template のチェック(insert_filter_template が 1 の場合)
if "%insert_filter_template%"=="1" (
if not exist %filter_template% (
rem # エラーメッセージの設定
set error_message=%filter_template% が見つかりませんでした。
rem # ラベルerrorへ移動
goto error
)
)

:check_input_filter_template
rem # ソース読み込みテンプレートの指定(specify_input_filter_template が 1 の場合)
if "%specify_input_filter_template%"=="1" (
echo ### ソース読み込みテンプレートの指定 ###
echo.
echo ソース読み込みテンプレートのパスを指定してください(ドラッグ&ドロップでも可)。
echo 何も入力せずに Enter キーを押すと、%input_filter_template% が使われます。
echo.
set /p input_filter_template=入力して Enter キー:
echo.
) else (
echo %input_filter_template% を使って、AVS ファイルを生成します。
echo.
)
rem # input_filter_template のチェック
if not exist %input_filter_template% (
rem # エラーメッセージの設定
set error_message=%input_filter_template% が見つかりませんでした。
rem # ラベルerrorへ移動
goto error
)

:check_double_quotation
rem # input_filter_template が二重引用符で囲まれているかチェック
if not "%input_filter_template:~1,-1%"==%input_filter_template% (
rem # 二重引用符がない場合は付け直す
set input_filter_template="%input_filter_template%"
)

:gen_avs
rem ### AVS ファイルの出力 ###
rem # AVS ファイルをバッチファイルと同じフォルダに出力
rem set avs_file="%~dp0%~n1.avs"
set avs_file="%~dp0%~n1.avs"

echo "%~n1.avs" を生成します。
echo.
rem # 空の AVS ファイルを出力
type nul> %avs_file%

:add_plugin_list
rem ### プラグイン読み込みテンプレートを AVS ファイルと結合 ###
rem # 2.5 用プラグイン読み込みテンプレートを追加(use_auto_loading が 1 以外の場合)
if not "%use_auto_loading%"=="1" (
echo ### AVS ファイルにプラグイン読み込み部分を追加 ###
echo.
echo ### AviSynth 2.5 用プラグインの読み込み ###>>%avs_file%
copy /b %avs_file% + %plugin_template% %avs_file%
echo.>>%avs_file%
echo.
)

rem # 1.0/2.0 用プラグイン読み込みテンプレートを追加(use_old_plugins が 1 の場合)
if "%use_old_plugins%"=="1" (
echo ### AVS ファイルに 1.0/2.0 用プラグインの読み込みを追加 ###
echo.
echo ### AviSynth 1.0/2.0 用プラグインの読み込み ###>>%avs_file%
copy /b %avs_file% + %old_plugin_template% %avs_file%
echo.>>%avs_file%
echo.
)

:call_input_filter_template
rem ### 入力フィルタテンプレートをバッチファイルに変換して呼び出す ###
echo ### 入力フィルタテンプレートの挿入 ###
echo.
echo ### ソースファイルの読み込み ###>>%avs_file%
rem # 入力フィルタテンプレートを元にバッチファイルのパスを設定
set temp_bat="%input_filter_template:~1,-1%.bat"
rem # 入力フィルタテンプレートをバッチファイルとしてコピー
copy /b %input_filter_template% %temp_bat%
echo.
rem # 上で生成したバッチファイルを呼び出して実行
call %temp_bat% "%~1"
rem # 上で生成したバッチファイルを削除
del %temp_bat%
echo.
echo %avs_file% に %input_filter_template% を挿入しました。
echo.

:insert_filter_chain
rem ### フィルタ連鎖テンプレートの挿入 ###
if "%insert_filter_template%"=="1" (
echo ### フィルタ連鎖テンプレートの挿入 ###
echo.
echo.>>%avs_file%
echo ### フィルタ連鎖 ###>>%avs_file%
echo.>>%avs_file%
copy /b %avs_file% + %filter_template% %avs_file%
echo.>>%avs_file%
echo.
)

:move_avs
rem ### avs_file を avs_output_directory に移動 ###
rem # avs_file を移動
move %avs_file% %avs_output_directory%
rem # ラベル parameter_shift へ移動
goto parameter_shift

:parameter_shift
rem ### バッチパラメータをシフト ###
rem # %9 は %8 に、... %1 は %0 に
shift /1
rem # バッチパラメータが空なら終了
if "%~1"=="" goto end
rem # ラベル gen_avs に戻る
echo ------------------------------
echo.
goto gen_avs

:error
echo ### エラー! ###
echo.
echo %error_message%
echo いったん終了するには、何かキーを押してください。
pause>nul
exit

:end
echo ### 終了 ###
echo.
echo ウィンドウを閉じるには、何かキーを押してください。
rem pause>nul
rem exit





dgindex_d2v_aac_audiodub_ConvEV00.avst
rem ### ソース読み込みテンプレート:                             ###
rem ### DGIndex を実行し、d2v と aac を読み込んで合成 ###

rem ### 初期設定 開始 ###
rem # DGIndex.exe のパス
set dgindex_path="C:\DTV\dgmpgdec158\DGIndex.exe"
rem # aac ソースの読み込みに使用するフィルタ
set aac_decode_function=bassAudioSource
rem BS11音声対応。ts2aacを利用。
set ts2aac_path="C:\DTV\ts2aac v0.12 SHA-1_F4E3D2796C0006A6C0EC76F93697C8A67027A087\ts2aac_tsD&D用-B_for_encode.bat"

set encode_path="D:\encode20111228"

rem FakeAacWaveのパス
set faw_path="C:\DTV\up1009FakeAacWav Ver0.28+fawcl0.11\FAW.exe"

rem ### 初期設定 終わり ###

rem ### コマンドラインツールの実行 開始 ###
echo # DGIndex の実行
rem %dgindex_path% -IF=[%~1] -OF=[%~dpn1] -exit

rem []とかダメ文字に対応
%dgindex_path% -SD=? -AIF=?%~1? -OF=?%~dpn1? -exit

rem ダメ文字。http://unkar.org/r/avi/1197696602 669,758,766,768,770,771,772等
rem ‐ゾЬⅩ云馨犠珪江讃従疹曽綻転脳評望余肋兢咯嫋彎拆枉歉濔畩秕緇臂蘊訃躱鐓饐鷯偰硎褜猤

rem BS11音声対応。ts2aac処理前にダメ音声とそのavs削除
for /f "delims=" %%A in ('dir /b /Oen "%~dpn1 *PID*DELAY*ms.aac"') do (
del "%~dp1%%A"
del "%~dpn1.avs"
)

rem BS11音声対応。2011年4月以降、DGIndexで音声がおかしくなるため、音声を別に作成。ts2aacをつかう。
call %ts2aac_path% "%~1"


rem # videoソース
set video_source="%~dpn1.d2v"

rem # aacソースの検索
for /f "delims=" %%A in ('dir /b /Oen "%~dpn1 *PID*DELAY*ms.aac"') do (
set audio_source="%~dp1%%A"
set Delay_source="%%A"
)
echo aacソース
echo "Delay_source" %Delay_source%

rem Delay_secondの値を取得する(強引な手法で・・・。)
set Delay_second=%Delay_source:~-14,10%

rem 不要な文字を消す。(7とか-7とかの値が得られる)
set Delay_second=%Delay_second:D=%
set Delay_second=%Delay_second:E=%
set Delay_second=%Delay_second:L=%
set Delay_second=%Delay_second:A=%
set Delay_second=%Delay_second:Y=%
set Delay_second=%Delay_second:.=%
set Delay_second=%Delay_second:m=%
set Delay_second=%Delay_second:s=%
set Delay_second=%Delay_second: =%


rem _aには、元の値、_bには絶対値
set Delay_second_a=%Delay_second%
set Delay_second_b=%Delay_second:-=%

echo Delay値(元の値)
echo "Delay_second_a" %Delay_second_a%

echo Delay値(絶対値)
echo "Delay_second_b" %Delay_second_b%

rem 小数点以下は0になる仕様を逆手に取って、小数点以下切り捨てに利用する。
set /a Delay_second_num=%Delay_second_b%/1000

echo 整数値
echo "Delay_second_num" %Delay_second_num%

rem 小数点以下3桁に整える(例 -7⇒-0.007をやりたいので、7⇒007の変換)
set Delay_second_ms=00%Delay_second_b%
set Delay_second_ms=%Delay_second_ms:~-3%

echo 小数点以下3ケタ
echo Delay_second_ms %Delay_second_ms%


echo # Delay値の処理結果
echo # 取得したDelay値
echo Delay_second %Delay_second%

echo # 取得したDelay値の一番左の値
echo %Delay_second:~0,1%

echo # +なら一とか十の位、-ならマイナス
echo %Delay_second_a:~0,1%

echo # 整数値
echo "Delay_second_num" %Delay_second_num%

echo # 小数点以下3桁
echo "Delay_second_ms" %Delay_second_ms%


echo # 書込み用Delay絶対値
echo %Delay_second_num%.%Delay_second_ms%

rem # +-の判定は、AVSファイル書き込み時に。



rem ### コマンドラインツールの実行 終わり ###

rem ### ソース読み込み部分の設定/出力 開始 ###
echo video = MPEG2Source^(%video_source%^)>> %avs_file%
echo audio = %aac_decode_function%^(%audio_source%^)>> %avs_file%
echo.>> %avs_file%
echo AudioDub^(video, audio^)>> %avs_file%
echo.>> %avs_file%

echo ###### 音ズレ補正 #####>> %avs_file%
rem +-判定し、avsファイルに書き込む
if %Delay_second_a:~0,1% == - (
echo DelayAudio^(-%Delay_second_num%.%Delay_second_ms%^)>> %avs_file%
) else (
echo DelayAudio^(%Delay_second_num%.%Delay_second_ms%^)>> %avs_file%
)
echo.>> %avs_file%

echo "%~n1.avs" を生成します。
echo.

echo ##### CMカット。本編等残す部分のみ範囲選択、フレーム単位で指定します。>> %avs_file%
echo # 例:Trim(570,6772)++Trim(8571,22836)++Trim(24635,46722)++Trim(48521,49119)>> %avs_file%
echo #Trim(572,5396)++Trim(7196,23348)++Trim(25148,46874)++Trim(48674,50021)>> %avs_file%
echo.>> %avs_file%
echo.>> %avs_file%

rem 自動CMカット(logoGuillo)対応
rem Trim位置を取り込む

rem Trim処理をavsに書き込む
if exist "%~dpn1.ts.txt" (
echo #自動CMカット(logoGuillo)>> %avs_file%
type "%~dpn1.ts.txt">> %avs_file%
echo.>> %avs_file%
) else (
echo ロゴ未検出。Trimなしで処理。
echo #自動CMカット(logoGuillo)>> %avs_file%
echo #ロゴ未検出。Trimなし。>> %avs_file%
echo.>> %avs_file%
)
echo.>> %avs_file%

rem echo return last>> %avs_file%
rem pause






◇encode用(同時に複数処理不可)
encode_crf21_for_24fps_1280x720auto-test_AutoVFR(ConvEV).bat
@echo off
cd /d %~dp0

rem 作業開始
:encode

:ConvEV01
set avs_file01="D:\encode20111228\ConvEV01.avs"
type "D:\encode20111228\%~n1.avs"> %avs_file01%
echo. >> %avs_file01%
echo TFM(output="tfm.txt")>> %avs_file01%
echo TDecimate(mode=4, output="tdec.txt")>> %avs_file01%
rem echo return last>> %avs_file01%


:ConvEV02
set avs_file02="D:\encode20111228\ConvEV02.avs"
type "D:\encode20111228\%~n1.avs"> %avs_file02%
echo. >> %avs_file02%
echo TFM(input="tfm.txt")>> %avs_file02%
echo TDecimate(mode=5,hybrid=2,vfrDec=1, input="tdec.txt",tfmIn="tfm.txt",mkvOut="tmc_tivtc.txt")>> %avs_file02%
echo trim(0,1)>> %avs_file02%
rem echo return last>> %avs_file02%



rem エンコード
:ConvEV03
set avs_file03="D:\encode20111228\ConvEV03.avs"
type "D:\encode20111228\%~n1.avs"> %avs_file03%
echo. >> %avs_file03%

rem ### (1) EasyVFR
echo Import("C:\Program Files\AviSynth 2.5\plugins\EasyVFR_ver2.avs")>> %avs_file03%
echo time_file="timecode.txt" #ConvEV.iniの設定はOutTmc=time_file
echo Import("output.avs")>> %avs_file03%
echo. >> %avs_file03%

rem ### (2) Its ※(1)を使わない場合
rem echo its(def="D:\encode20111228\time.def", fps=-1, output="encode_AutoVFR(ConvEV).tmc")>> %avs_file03%
rem echo. >> %avs_file03%

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

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

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

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


echo return last>> %avs_file03%
echo. >> %avs_file03%

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



rem #############################
rem やること(ConvEV EasyVFR
rem 1
rem 2
rem ConvEV タイムコード
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 "%~n1.avs" %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 ***************************************
echo ** エンコード中(映像) **
echo ***************************************

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

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

echo *******************************
echo ** TIVTC-VFRの1pass目    **
echo *******************************
rem avs2avi "D:\encode20111228\%~n1_ConvEV01.avs" -c null -o n
avs2avi ConvEV01.avs -c null -o n
rem x264 --preset ultrafast --tune fastdecode --merange 4 --no-psy --profile baseline --bitrate 0 -o nul ConvEV01.avs

echo tdec.txtおよびtfm.txtを作成しました。

echo *******************************
echo ** 2pass目でタイムコード出力 **
echo *******************************
rem avs2avi -o nul "D:\encode20111228\%~n1_ConvEV02.avs"
x264 -o nul ConvEV02.avs

echo tdec.txtおよびtfm.txtからtmc_tivtc.txtを作成しました。

echo *******************************
echo tivtcのtimecodeから     **
echo     EasyVFRのコード生成 **
echo *******************************
rem ○60/30/24で分割する場合
rem ConvEV.exe --if "tmc_tivtc.txt" --tfm "tfm.txt" --of "output.avs"
rem ○60/24で分割する場合
ConvEV.exe --if "tmc_tivtc.txt" --of "output.avs"

echo output.avsを作成しました。

echo *******************************
echo ** 本エンコ         **
echo *******************************
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 --output %FN%temp.mp4 ConvEV03.avs
echo timecode.txtを作成しました。
echo 映像の本エンコードが完了しました。

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

rem 可変フレームレートの際はこちらの2行を使用する
tc2mp4Mod.exe -i %FN%temp.mp4 -o %FN%temp_vfr.mp4 -t "timecode.txt"
mp4box -add %FN%temp_vfr.mp4 -add %FN%wav.m4a -new %FN0%_1280x720_AutoVFR(ConvEV).mp4

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

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

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

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

copy tfm.txt %FN0%_1280x720_-_tfm.txt >nul
copy tdec.txt %FN0%_1280x720_-_tdec.txt >nul
copy tmc_tivtc.txt %FN0%_1280x720_-_tmc_tivtc.txt >nul
copy timecode.txt %FN0%_1280x720_-_timecode.txt >nul
copy output.avs %FN0%_1280x720_-_output.avs >nul
echo 一時ファイルのコピーの保存が完了しました。

del tfm.txt
del tdec.txt
del tmc_tivtc.txt
del timecode.txt
del output.avs
echo 一時ファイルの削除が完了しました。

)

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

pause


◇bat処理
TsSplitter&指定サイズ以上処理BS11_logoGuillo_AutoVFR(ConvEV).bat
@echo off
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-96.html
rem ↓以下のbatファイルを参考にしています。
rem http://loggialogic.blogspot.com/2011/11/tsbat.html
rem TSのファイルサイズが指定値以上の場合だけ処理を行うBAT
rem TSのファイルサイズが指定値以上の場合だけ処理を行うBATコードです。
rem TsSplitterで番組情報での分割を行った際に発生する、本編の前後のゴミを除去する為に使用しています。
rem 99GB以下のファイルなら正常に動作します。

rem これを忘れると動かないので注意
setlocal ENABLEDELAYEDEXPANSION

set TsSplitter="C:\DTV\TsSplitter Ver1.23\TsSplitter.exe"
%TsSplitter% -1SEG -OUT "C:\newTS" -SEP3 -SEPA "%~1"


rem 処理する際のサイズ下限(KB)を指定
rem ※上限 99GB以下のファイルなら正常に動作します。
rem 30MB
rem set ENCSIZETHD=30000
rem 300MB=300000KB
set ENCSIZETHD=30000

rem 指定サイズ以上のTSファイルだけを処理
for %%t in ("C:\newTS\%~n1*.ts") do (
 set TEMPSIZE=xxxxxxxxxxxx%%~zt
 set TEMPSIZE=!TEMPSIZE:~-11,-3!
 set TEMPSIZE=!TEMPSIZE:x=!
set FILENAME=%%~nt
echo !FILENAME!
 IF !TEMPSIZE! GEQ %ENCSIZETHD% (
  rem ここに処理の内容を記述
echo ##### ファイルサイズ#####
echo ### !TEMPSIZE! KB
echo #########################
echo 処理
rem call "C:\newTS\TSSplitter指定サイズ以上処理.bat" "C:\newTS\!FILENAME%!"
rem call "D:\encode20111228\Auto-encode-test_20111228_NoTrim.bat" "%~1"
rem call "D:\encode20111228\Auto-encode-test_20111228_NoTrim.bat" "C:\newTS\!FILENAME%!"
call "D:\encode20111228\Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV).bat" "C:\newTS\!FILENAME%!.ts"
rem del "C:\newTS\!FILENAME%!*"
 )
)
rem TsSplitterで作成したファイルやエンコードで作成したファイルすべて完全削除。ごみ箱へも入りません。
del "C:\newTS\!FILENAME%!*"
rem pause
endlocal




Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV)_EDCB.bat
rem @echo off
rem 作業開始

rem EDCB用。
call "D:\encode20111228\Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV).bat" "$FilePath$"





Auto-encode-test_20111228_BS11_logoGuillo_AutoVFR(ConvEV).bat
@echo off
rem 作業開始

if "%~x1"==".avs" goto avs_encode

:encode
rem #####################################################
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 -frameOffset 2 -fldOdr unknown
rem #####################################################



:gen_avs
call "D:\encode20111228\gen_avs2_d2v_aac_20111228_ConvEV00.bat" "%~1"

:avs_encode
call "D:\encode20111228\encode_crf21_for_24fps_1280x720auto-test_AutoVFR(ConvEV).bat" "D:\encode20111228\%~n1.avs"

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

pause
exit





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