スポンサーサイト

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

logoGuilloで自動CMカットしてみる③(d2v利用)

d2vファイルを利用して、自動CMカットします

※対応しているlogoGuilloについて
d2vを利用する場合は、v2.05以降のバージョンを利用します。
m2vと比べると、高速です。

あとは続きを読んでください。


logoGuilloを使ってみる③
logoGuilloという、ロゴ検出型自動CMカットプログラム
これを使って、自動CMカットエンコードすることができます。

対応チャンネル
・本編でロゴが表示され、CMでロゴが表示されない放送局。




そのほか、logoGuilloのGUIの使い方は以下のページや、作者さんのサイトを参考にしてください。
logoGuilloで自動CMカットしてみる①
http://soranikakaruhashi.blog.fc2.com/blog-entry-82.html


公式サイト(作者さんのサイトです)
Loggia Logic
http://loggialogic.blogspot.com/




もくじ

1.
使い方
2. batファイル例
2-1. 個別の放送局用batファイルサンプル
    logoGuillo_BS11_DGDecode.bat

2-2. 放送局を自動選択するbatファイルサンプル
    logoGuillo_放送局処理(自動選択)_DGDecode.bat

2-3. 自動CMカット処理を含むAVS生成batファイルサンプル
(1)gen_avs2_d2v_aac_20120323_Common_logoGuillo_DGDecode.bat
(2)dgindex_d2v_aac_audiodub_Common_logoGuillo_DGDecode.avst

2-4. その他
(1)自動CMカット&自動VFRエンコード(logoGuillo_DGDecode).bat
(2)字幕作成.bat
(3)字幕編集.bat

(4)EDCBエラーチェック用.bat(サンプル)
(5)
(6)リネーム用SCRename_sample.bat

3. batファイル(テスト用サンプル2)
3-1. logoGuillo_keyframe出力batファイル(テスト用サンプル)
(1)logoGuillo_BS11_DGDecode_keyframe.bat
(2)logoGuillo_放送局処理(自動選択)_DGDecode_keyframe.bat
(3)手動CMカット用サンプル(TsSplitter&指定サイズ以上処理_logoGuillo_keyframe形式出力).bat

3-2. logoGuillo_chapters.txt出力batファイル(テスト用サンプル)
(1)logoGuillo_BS11_DGDecode_chapters.txt.bat
(2)logoGuillo_放送局処理(自動選択)_DGDecode_chapters.txt.bat
(3)自動CMカット用サンプル(TsSplitter&指定サイズ以上処理_logoGuillo_chapters.txt形式出力).bat

4. batファイル(テスト用サンプル3)
4-1. keyframe ⇔ chapters.txt 変換用batファイル(テスト用サンプル)
(1)gen_.keyframe_to_.chapters.txt.bat
(2)gen_.chapters.txt_to_.keyframe.bat
(3)gen_.keyframe_to_Trim.bat

4-2. TvtPlay用.chapter生成用batファイル(テスト用サンプル)
(1)gen_.chapters.txt_to_.chapter(チャプターのみ追加).bat
(2)gen_.chapters.txt_to_.chapter(チャプタースキップ用)b.bat





1. d2vファイルを利用する場合の使い方
使い方。
・動画ファイルでd2vファイルを指定します。
・DGDecode.dllを利用します。
※m2vと比べると、d2vでの処理は高速です。

そのほか、logoGuilloの使い方は以下のページや、作者さんのサイトを参考にしてください。
http://soranikakaruhashi.blog.fc2.com/blog-entry-82.html

もくじに戻る


2. batファイル例
サンプルとして書いてあります。
テキスト置換ソフトをつかわないでどうできるかという方向で書いてあります。
細かなエラー処理等は考えてありません。

2-1. 個別の放送局用batファイルサンプル
BS11用のサンプルです。
BS11は白飛び(白背景に白ロゴでロゴが見えない)による判定エラーが起こる場合があります。
誤判定の際に調整すれば改善するかと思います。

・avsでd2vを使用している場合は、オフセットは不要。
※m2vを利用してd2vなavsにつかうにはオフセット2が必要だった。d2vをd2vなavsに使うならオフセット不要。
logoGuillo_BS11_DGDecode.bat
d2vファイルを入力すると、自動CMカットが始まります。
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_BS11
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)


rem ############################################################
rem ##### 簡易説明書(読んでね!)
rem ############################################################
rem d2vファイルを入力します。
rem 都合上、avsファイル作成の前に、自動CMカットします。
rem ※他の放送局に対応するbatファイルを簡単に作成する際には、
rem このbatファイルをコピーして、
rem このbatファイルの名前と、ロゴデータと検出パラメータの指定を、
rem 他の放送局のものに変更すれば簡単です。
rem 
rem ①ロゴデータと検出パラメータは、各放送局ごとに指定する必要があります
rem (ロゴデータ等は、自動CMカットの前に用意しておく必要があります)
rem ※lgdファイル名に日本語を使うと、GUIでの処理で文字化けする場合があるかも。
rem ②d2vを使ってCMカットします。
rem ※avsでd2vを使用している場合は、オフセットは不要です。
rem ※d2vを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用してください。
rem ※結果について
rem  自動CMカットの結果は、基本的に、手動CMカットの場合と同じになるはずです。
rem  (ロゴデータと検出パラメータが適切に設定できている場合)
rem  CMが混ざるなど、明らかに正しく処理できていない場合には、ロゴデータまたは検出パラメータが適切に設定できていませんので、再調整が必要です。
rem ############################################################


rem ############################################################
rem ### 以下では、処理に使用するファイルを指定します
rem ############################################################

rem ############################################################
rem ### 共通利用ファイル
rem ### 以下のファイルは、基本的に、放送局が異なる場合でも、共通で利用します。
rem ### ■の1行下の設定にあわせてファイルを配置します。
rem ### 別の場所にしたい場合は、個別環境に合わせて書き換えます。
rem ############################################################

rem ■logoGuilloの場所。
set LOGOG_PATH=C:\DTV\logoGuillo\logoGuillo.exe

rem ##### ①Avisynthの設定 ※基本的には変更なし。固定値。
rem ■avs2pipemod.exe等の場所
set AVS2X_PATH=C:\DTV\logoGuillo\avs2pipemod.exe
rem ■m2v.vfp/ffms2.dll/DGDecode.dllの場所
set AVSPLG_PATH=C:\DTV\dgmpgdec158\DGDecode.dll
rem ※DGDecode.dllを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用します。
rem set AVSPLG_PATH=C:\Program Files\AviSynth 2.5\plugins\m2v_vfp\m2v.vfp

rem ##### ②入力の設定
rem □動画ファイル
rem 例 set VIDEO_PATH=E:\Videos\Record_20111228-050944.ts
rem ここでは、batファイルで処理される動画ファイル名が入力されます。
rem 以下は、bat処理やドラッグアンドドロップにより、ファイル名が自動的に入力されるようにしてあります。
rem set VIDEO_PATH=%~1
rem d2v用
set VIDEO_PATH=%~dpn1.d2v

rem ############################################################



rem ############################################################
rem ### 放送局ごとに設定が必要なファイル
rem ############################################################
rem ■ロゴデータ(lgdファイル)
set LOGO_PATH=C:\DTV\logoGuillo\BS11 1920x1080.lgd

rem ■ロゴデータ検出パラメータ(paramファイル)
set PRM_PATH=C:\DTV\logoGuillo\BS11 1920x1080.lgd.autoTune.param
rem ############################################################


rem ############################################################
rem ##### 出力の設定
rem ############################################################
rem □自動CMカット結果の出力先。
rem 例 set OUTPUT_PATH=E:\Videos\Record_20111228-050944.d2v.txt
rem ここでは、動画ファイルがあるフォルダ内に出力されるようにしてあります。
set OUTPUT_PATH=%~dpn1.d2v.txt
rem ############################################################


rem ############################################################
rem Trimコマンド生成
rem ############################################################

rem m2vの解析結果をd2vに利用する際には、オフセットで2を指定するとよいです(-frameOffset 2)
rem "%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 d2vの解析結果をd2vに利用する際には、オフセットは必要ありません。
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH%" -outFmt trim -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH%" -outFmt chap -fldOdr unknown 

rem v2.05以降では、前後の番組の一部が混入する事を防ぐ機能が、デフォルトで有効になっています。
rem (※無効にするにはマイナス値にしてください。例)-delFstBlk -4.0 -delLstBlk -2.0)
rem 前番組4.0秒以下、後番組3.5秒以下の混入を防ぐには、以下のようにします。
"%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH%" -outFmt trim -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5


rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る




2-2. 放送局を自動選択するbatファイルサンプル
logoGuillo_放送局処理(自動選択)_DGDecode.bat
放送局名を含んだ名前のd2vファイルを入力すると、
その放送局名にあわせてbatファイルを選択します。
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_select
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)

SET FILENAME="%~n1"
echo 処理対象ファイル名 %FILENAME%
echo 放送局ごとの処理をしていきます。
echo 放送局を判定したら表示します。
echo.

    @REM 検索対象(※ファイル名に放送局名を入れておく。)
    @REM ※検索対象外の放送局は、logoGuilloで処理されない(自動CMカットなし)
    
@rem
@rem 地上デジタル放送
@rem

@rem NHKについては全国共通。
    SET CHANNEL001="NHK総合"
    SET CHANNEL002="NHKEテレ"

@rem 民放は受信可能なものを、自分で指定。とりあえず関東用を用意。
    SET CHANNEL003=""
    SET CHANNEL003C="チバテレビ"
    SET CHANNEL003S="テレ玉"
    SET CHANNEL003K="tvk"
@rem         ※tvkはロゴ表示がないのでlogoGuilloはつかえない。 
    SET CHANNEL004="日本テレビ"
    SET CHANNEL005="テレビ朝日"
    SET CHANNEL006="TBS"
    SET CHANNEL007="テレビ東京"
    SET CHANNEL008="フジテレビ"
    SET CHANNEL009="TOKYO MX"
    SET CHANNEL010=""
    SET CHANNEL011=""
    SET CHANNEL012="放送大学"

@rem 
@rem BSデジタル放送 
@rem 

rem 無料放送
    SET CHANNEL101="NHKBS1"
    SET CHANNEL103="NHKBSプレミアム"

    SET CHANNEL141="BS日テレ"
    SET CHANNEL151="BS朝日"
    SET CHANNEL161="BS-TBS"
    SET CHANNEL171="BSジャパン"
    SET CHANNEL181="BSフジ"

    SET CHANNEL211="BS11"
    SET CHANNEL222="TwellV"

    SET CHANNEL231="放送大学BS1"
    SET CHANNEL232="放送大学BS2"
    SET CHANNEL233="放送大学BS3"
    SET CHANNEL531="放送大学ラジオ"

rem 有料放送
    SET CHANNEL191="WOWOWプライム"
    SET CHANNEL192="WOWOWライブ"
    SET CHANNEL193="WOWOWシネマ"
    SET CHANNEL200="スター・チャンネル1"
    SET CHANNEL201="スター・チャンネル2"
    SET CHANNEL202="スター・チャンネル3"

    SET CHANNEL234="グリーンチャンネル"
    SET CHANNEL236="BSアニマックス"
    SET CHANNEL238="FOXbs238"
    SET CHANNEL241="BSスカパー!"
    SET CHANNEL242="J SPORTS 1"
    SET CHANNEL243="J SPORTS 2"



    




cd /d %~dp0


    ECHO %FILENAME% | find %CHANNEL001% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL001% TRUE
call "logoGuillo_NHKG_DGDecode.bat" "%~1"
)
    ECHO %FILENAME% | find %CHANNEL002% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL002% TRUE
call "logoGuillo_NHKE_DGDecode.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL211% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL211% TRUE
call "logoGuillo_BS11_DGDecode.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL141% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL141% TRUE
call "logoGuillo_BS-NTV_DGDecode.bat" "%~1"
)





rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る




2-3. 自動CMカット処理を含むAVS生成batファイルサンプル
(1)および(2)のファイルをエンコード用のフォルダに置きます。
このbatファイルに、動画ファイル(.ts)を入力すると、
①d2vファイル、および、aacファイルを作成し、
②d2vを利用してlogoGuilloで自動CMカットし、
③CMカット情報を含んだAVSファイルを生成します。
このbatファイルでは、2-2.のbatファイルを呼び出して使います。 2-2.からは2-1.が呼び出されて使われます。
※自動CMカットのためにはd2vファイルが必要なので、先にd2vを用意するようにしてあります。

(1)gen_avs2_d2v_aac_20120323_Common_logoGuillo_DGDecode.bat
@echo off
setlocal
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#gen_avs_common

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_Common_logoGuillo_DGDecode.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 いったん終了するには、何かキーを押してください。
rem pause>nul
endlocal
exit /b

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


(2)dgindex_d2v_aac_audiodub_Common_logoGuillo_DGDecode.avst
@echo off
setlocal

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

rem ### 初期設定 開始 ###
rem 以下の2ファイルを配置します。
rem ■ DGIndex.exe のパス
set dgindex_path="C:\DTV\dgmpgdec158\DGIndex.exe"

rem BS11音声対応。ts2aacを利用。
rem ■ts2aac用batファイルの場所
set ts2aac_path="C:\DTV\ts2aac\ts2aac_tsドラッグアンドドロップ用-B_for_encode.bat"


rem □ aac ソースの読み込みに使用するフィルタ
set aac_decode_function=bassAudioSource

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"
)
if exist "%~dpn1.avs" (
    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.

rem ### ソース読み込み部分の設定/出力 終わり ###



rem ##################################################
rem ### 自動CMカット(logoGuillo v2.05以降を利用) ###
rem ##################################################
rem d2vを利用してCMカットします。
rem logoGuillo v2.05以降のバージョンを利用してください。

call "logoGuillo_放送局処理(自動選択)_DGDecode.bat" "%~dpn1.d2v"

rem ##################################################
rem ##################################################



echo ##### CMカット。本編等残す部分のみ範囲選択、フレーム単位で指定します。>> %avs_file%
echo # 例:Trim(570,6772)++Trim(8571,22836)++Trim(24635,46722)++Trim(48521,49119)>> %avs_file%
rem 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に書き込む(d2v.txtを読み取ります)
if exist "%~dpn1.d2v.txt" (
echo #自動CMカット(logoGuillo)>> %avs_file%
type "%~dpn1.d2v.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%

endlocal
rem pause
exit /b



もくじに戻る


2-4.その他
(1)自動CMカット&自動VFRエンコード(logoGuillo_DGDecode).bat
@echo off
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#AutoCMCut_AutoVFR
setlocal

echo ##############################
echo ### 簡易説明書
echo ### このbatファイルには、tsファイル、あるいは、avsファイルを入力します。
echo ### ※ドラッグアンドドロップして入力するか、もしくは、予約管理ソフトで指定して入力します。
echo ### ※tsファイルは、予約管理ソフトの録画フォルダなど。どこにあってもよいです。
echo ### ※avsファイルは、必ず、このbatファイルが置かれているフォルダ内に用意する必要があります。
echo ### 
echo ### ・tsファイルを入力した場合
echo ### ①字幕作成、②自動avs生成(自動CMカット含む)、のち、③字幕編集、④エンコード(自動VFR)まで処理されます。
echo ### ※各段階(①②③④)で、このbatファイルが置かれているエンコード用フォルダ内に、以下のものが生成されます。
echo ### ※①では、字幕ファイル(ass,srt)※無編集のものが生成されます。
echo ### ※②では、avsファイルが生成されます。
echo ### ※③では、字幕ファイル(ass,srt)※編集済みのものが生成されます。ファイル名に_newがついています。
echo ### ※④では、mp4ファイルのほか、mp4エンコードの際に利用されるファイル等が生成されます。
echo ### 
echo ### ・avsファイルを入力した場合、
echo ### ③字幕編集、④エンコード(自動VFR)の処理がされます。
echo ### ※手動CMカットしたavsファイルをこのbatファイルで処理することを想定しています。
echo ##############################

echo ##############################
echo ###エンコードフォルダ設定
set encode_path=%~dp0
echo エンコード用フォルダのパスは以下のとおりです。※このbatファイルが置かれているフォルダが指定されます。
echo %encode_path%
echo ###
echo ##############################


:bat_start
echo 処理開始

echo ##############################
echo ### avsファイルを入力した場合は、
echo ### ①②を省略して、③字幕編集&④エンコード(自動VFR)へ。
if "%~x1"==".avs" goto caption_edit

echo ### tsファイル以外のファイルならendへ。
if not "%~x1"==".ts" goto end

echo ### tsファイルの場合は、以下の処理で①②のち③④まで。
echo ##############################

echo ############################################################
echo ①および②は、tsファイルを入力した場合のみ。

echo ##############################
echo ### ①字幕作成
echo ### 字幕ファイル(ass,srt)は、batファイルが置かれているフォルダ内に作成されます。

echo 字幕作成します。
call "%encode_path%字幕作成.bat" "%~1"
echo ##############################

echo ##############################
echo ### ②自動avs作成(自動CMカット含む)
echo ### avsファイルは、batファイルが置かれているフォルダ内に作成されます。
echo ### ※自動でavsを生成するとともに、
echo ###  logoGuilloのv2.05以降で「d2v」を利用してCMカットし、
echo ###  カットした出力結果がある場合は、Trimを自動記述します。

echo avsファイルを生成します。少し待ちます。logoGuilloの処理は数分待ちます。
call "%encode_path%gen_avs2_d2v_aac_20120323_Common_logoGuillo_DGDecode.bat" "%~1"
echo ##############################

echo ############################################################


:caption_edit
echo ############################################################
echo ③および④は、tsファイルだけなく、avsファイルが入力された場合でも処理されます。
echo avsファイルを入力した場合は、③字幕編集と④エンコードを行います。

echo ##############################
echo ### ③字幕編集
echo ### Trim記述済みのavsファイルが入力された場合、字幕編集します。
echo ### エンコード用のフォルダに、以下のファイルがある場合、字幕編集し、すぐに次の④でエンコード開始します。
echo ### ・Trim記述済みのavsファイル 
echo ### ・字幕ファイル(.ass および .srt)
echo ### 
echo ### 字幕ファイルが見つからない場合は、④エンコードへ。

if not exist "%encode_path%%~n1.ass" (
echo 字幕ファイルがtsファイルと同じフォルダに存在しません。
echo ④エンコード(自動VFR)のみ行います。
goto encode
)

echo 字幕編集します。
call "%encode_path%字幕編集.bat" "%encode_path%%~n1.avs"
echo ##############################

:encode
echo ##############################
echo ### ④エンコード(自動VFR)
echo ### tsファイルと同名のavsファイルが、このbatファイルと同じフォルダ(エンコード用フォルダ)にあるはずなので、
echo ### それを利用して、自動VFRエンコードします。

echo 以下のavsファイルをエンコードします。
echo "%encode_path%%~n1.avs"

rem 使用するエンコード用batファイルを選択します。
rem 以下の4つのうち1つを選択します。remがないbatファイルを利用してmp4が作成されます。
rem 初期設定は、ConvEV_EasyVFRを指定してあります。
rem また、各batファイルのx264などのオプションは適宜編集します。

rem ### ConvEV_EasyVFR
call "%encode_path%encode_crf21_for_24fps_1280x720auto-test_AutoVFR(ConvEV_EasyVFR).bat" "%encode_path%%~n1.avs"
rem ### AutoVFR_Def
rem call "%encode_path%encode_crf21_for_24fps_1280x720auto-test_AutoVFR(AutoVfr_Def)00.bat" "%encode_path%%~n1.avs"
rem ### AutoVFR_EasyVFR
rem call "%encode_path%encode_crf21_for_24fps_1280x720auto-test_AutoVFR(AutoVfr_EasyVFR)00.bat" "%encode_path%%~n1.avs"
rem ### DupMC2Def
rem call "%encode_path%encode_crf21_for_24fps_1280x720auto-test_AutoVFR(DupMC2Def)00.bat" "%encode_path%%~n1.avs"
echo ##############################

echo ############################################################



rem 削除するかどうか(avs生成時に、tsファイルがあるフォルダに作成されたもの)
rem del "%~dpn1*.gl"
rem del "%~dpn1*.d2v"
rem del "%~dpn1*.log"
rem del "%~dpn1*.aac"
rem del "%~dpn1*.ts2aac.txt"

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

endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がtsまたはavsではありません。
echo tsファイルまたはavsファイルを入力してください。
pause
exit /b
もくじに戻る



(2)字幕作成.bat
※logoGuilloで補完利用する場合があるので、字幕を削除しないように変更しました。
@echo off
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#Caption
setlocal

echo ##############################
echo ###エンコードフォルダ設定
set encode_path=%~dp0
echo エンコード用フォルダのパスは以下のとおりです。※このbatファイルが置かれているフォルダが指定されます。
echo %encode_path%
echo ###
echo ##############################
:bat_start
echo 処理開始

rem tsファイルを入力してください。
if not "%~x1"==".ts" goto end

echo ##############################
echo ### 簡易説明書
echo ### このbatファイルは、エンコード用フォルダにおいてください。
echo ### 字幕編集する場合に、便利です。
echo ### ※avsファイルを使って字幕編集するため、avsファイルが置かれているフォルダにおいておくと便利です。
echo ###
echo ### ①字幕作成
echo ### tsファイルを、このbatファイルにドラッグアンドドロップすれば、
echo ### 字幕ファイル(ass,srt)を作成する。
echo ### ※作成した字幕ファイルは、このbatファイルが置かれているフォルダにコピーされます。
echo ##############################


rem ■ Caption2Ass_PCRの場所を指定します。
set Caption2Ass_PCR_path="C:\DTV\Caption2Ass_PCR\Caption2Ass_PCR.exe"


echo ##############################
echo ### ①字幕作成
echo.
echo 字幕を作成します。dualでassおよびsrtの両方とも、出力されます。
echo tsファイルがあるフォルダに、拡張子以外は同じ名前で出力されます。
%Caption2Ass_PCR_path% -format dual "%~1"

rem 字幕ファイル(ass,srt)を、このbatファイル(字幕作成.bat)が置かれているフォルダへ移動する。
rem ※tsファイルがあるフォルダに残したい場合は、remをつけるなどして、字幕ファイルが残るように設定してください。
copy "%~dpn1.ass" "%encode_path%%~n1.ass"
copy "%~dpn1.srt" "%encode_path%%~n1.srt"

rem del "%~dpn1.ass"
rem del "%~dpn1.srt"

echo ##############################

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

endlocal
rem pause
exit /b


:end
endlocal
echo 入力されたファイルはtsファイルではありません。 
echo tsファイルを入力してください。
pause
exit /b

もくじに戻る



(3)字幕編集.bat
@echo off
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#Caption_Edit
setlocal

:bat_start
echo 処理開始

rem avsファイルを入力してください。
if not "%~x1"==".avs" goto end

echo ##############################
echo ### 簡易説明書
echo ### このbatファイルは、エンコード用のフォルダにおいてください。
echo ###
echo ### ③字幕編集(字幕カット)
echo ### avsファイル(Trim記述済みのもの)を、このbatファイルにドラッグアンドドロップすれば、字幕編集します。
echo ### ass形式およびsrt形式の字幕をカット編集します。
echo ###
echo ### ※同じフォルダ内に、以下のものを用意しておく必要があります。
echo ### ・字幕ファイル(ass,srt)※未編集のもの
echo ### ・avsファイル(Trim記述をしたもの)
echo ###
echo ##############################

rem ■cutassの場所を指定します。
set cutass_path="C:\DTV\up0792 cutass ver0.08 : 内部コード修正、(使わない)機能追加\cutass.exe"


:caption_edit
echo ##############################
echo ### ③字幕編集
echo ### このbatファイルに、avsファイルをドラッグアンドドロップします。
echo ### 同名の字幕ファイル(ass,srt)が、avsファイルと同じフォルダにある場合、字幕編集します。

rem ■カット処理を行う字幕の種類
rem ASS字幕およびSRT字幕の両方とも編集するように設定してあります。
rem 字幕ファイルのうち、どちらか1種類だけ編集することもできます。

rem ASS字幕およびSRT字幕の両方ともカット出力
%cutass_path% -t "%~dpn1.avs" "%~dpn1"

rem ASS字幕のみカット出力
rem %cutass_path% -t "%~dpn1.avs" "%~dpn1.ass"

rem SRT字幕のみカット出力
rem %cutass_path% -t "%~dpn1.avs" "%~dpn1.srt"

echo ##############################

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

endlocal
rem pause
exit /b


:end
endlocal
echo 入力されたファイルはtsファイルではありません。 
echo tsファイルを入力してください。
pause
exit /b

もくじに戻る



(6)SCRename_sample.bat不明版
@echo off
setlocal
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#SCRename_sample
rem SCRename付属Readme.txt参照

rem エンコードフォルダを設定
set encode_path=D:\encode20120515\

rem SCRename.vbs をインストールしたパスを設定
set SCRPATH=C:\DTV\up0922 SCRename6.0\SCRename
rem set SCRPATH=C:\SCRename
rem set SCRPATH=%~dp0

rem 入力ファイル形式
rem YYYYMMDDhhmm_番組名 _放送局名.拡張子

set BatFile_Name=%~n0.bat
echo "%BatFile_Name%"

:EDCB
if "%BatFile_Name%"=="EpgTimer_Bon_RecEnd.bat" (
rem このbatファイルに、入力ファイルをドラッグアンドドロップするのと同じ感じに処理。
call :DandD "$FilePath$"
rem 処理終了。end_DandD後のend_EDCBへ。
goto end_EDCB
)



rem ドラッグアンドドロップ処理
:bat_start
:DandD
rem ### ドラッグアンドドロップ(DandD) 処理開始

rem 入力ファイル判定&エラーファイル判定
rem tsファイルを入力してください。
if not "%~x1"==".ts" goto end


rem SCRenameで処理
rem デフォルト
rem for /F "usebackq delims=" %%I in (`cscript //nologo "%SCRPATH%\SCRename.vbs" "%~1" "$SCtitle$ $SCpart$第$SCnumber$話 「$SCsubtitle$」 ($SCservice$)"`) do set SCRTARGET=%%~I
rem 強制リネーム(-f)
for /F "usebackq delims=" %%I in (`cscript //nologo "%SCRPATH%\SCRename.vbs" -f "%~1" "$SCtitle$ $SCpart$第$SCnumber$話 「$SCsubtitle$」 ($SCservice$)"`) do set SCRTARGET=%%~I


echo 変換後のファイル名
echo "%SCRTARGET%"
rem pause

rem 設定例
rem 処理テスト①
rem "%encode_path%自動処理テスト.bat" "%SCRTARGET%"



rem 処理終了。
:end_DandD
rem ### ドラッグアンドドロップ(DandD) 処理終了
echo end_DandD
rem 次のファイルがあれば :bat_start に戻る
shift
if not "%~1"=="" goto bat_start

endlocal
rem pause
exit /b



:end_EDCB
echo end_EDCB
rem EDCBから呼び出すとき、pauseのまえにrem pauseをつければ停止せず終了する。

echo $FilePath$	ファイルのフルパス(バッチのみ)
echo $FolderPath$	ファイルのフォルダパス(最後に\はなし)(バッチのみ)
echo $FileName$	ファイル名(拡張子なし)(バッチのみ)
echo $Drops$		録画結果のドロップ数(バッチのみ)
echo $Scrambles$	録画結果のスクランブル数(バッチのみ)
echo $Result$	録画結果のコメント(バッチのみ)
echo $TitleF$	$Title$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ)
echo $Title2F$	$Title2$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ)
echo $Genre$		番組のジャンル(EPGデータ存在時のみ)(RecName_Macro.dllのみ)
echo $Genre2$	番組の詳細ジャンル(EPGデータ存在時のみ)(RecName_Macro.dllのみ)
echo $AddKey$	EPG自動予約で登録されたキーワード(バッチのみ)

echo $FilePath$	ファイルのフルパス(バッチのみ)>testedcb.txt
echo $FolderPath$	ファイルのフォルダパス(最後に\はなし)(バッチのみ)>>testedcb.txt
echo $FileName$	ファイル名(拡張子なし)(バッチのみ)>>testedcb.txt
echo $Drops$		録画結果のドロップ数(バッチのみ)>>testedcb.txt
echo $Scrambles$	録画結果のスクランブル数(バッチのみ)>>testedcb.txt
echo $Result$	録画結果のコメント(バッチのみ)>>testedcb.txt
echo $TitleF$	$Title$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ)>>testedcb.txt
echo $Title2F$	$Title2$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ)>>testedcb.txt
echo $AddKey$	EPG自動予約で登録されたキーワード(バッチのみ)>>testedcb.txt

endlocal
rem pause
exit /b



:end
endlocal
echo エラーの原因は以下のどれかです。
echo ①入力されたファイルはtsファイルではありません。 
echo  tsファイルを入力してください。
rem echo ②errファイルが存在しません。
pause
exit /b


もくじに戻る



3. batファイル(テスト用サンプル2)
3-1. logoGuillo_keyframe出力batファイル(テスト用サンプル)
(1)logoGuillo_BS11_DGDecode_keyframe.bat
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_BS11_keyframe
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)


rem ############################################################
rem ##### 簡易説明書(読んでね!)
rem ############################################################
rem d2vファイルを入力します。
rem 都合上、avsファイル作成の前に、自動CMカットします。
rem ※他の放送局に対応するbatファイルを簡単に作成する際には、
rem このbatファイルをコピーして、
rem このbatファイルの名前と、ロゴデータと検出パラメータの指定を、
rem 他の放送局のものに変更すれば簡単です。
rem 
rem ①ロゴデータと検出パラメータは、各放送局ごとに指定する必要があります
rem (ロゴデータ等は、自動CMカットの前に用意しておく必要があります)
rem ※lgdファイル名に日本語を使うと、GUIでの処理で文字化けするかも。logoGuillo本体でも処理できないかも。
rem ②d2vを使ってCMカットします。
rem ※avsでd2vを使用している場合は、オフセットは不要です。
rem ※d2vを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用してください。
rem ############################################################


rem ############################################################
rem ### 以下では、処理に使用するファイルを指定します
rem ############################################################

rem ############################################################
rem ### 共通利用ファイル
rem ### 以下のファイルは、基本的に、放送局が異なる場合でも、共通で利用します。
rem ### ■の1行下の設定にあわせてファイルを配置します。
rem ### 別の場所にしたい場合は、個別環境に合わせて書き換えます。
rem ############################################################

rem ■logoGuilloの場所。
set LOGOG_PATH=C:\DTV\logoGuillo\logoGuillo.exe

rem ##### ①Avisynthの設定 ※基本的には変更なし。固定値。
rem ■avs2pipemod.exe等の場所
set AVS2X_PATH=C:\DTV\logoGuillo\avs2pipemod.exe
rem ■m2v.vfp/ffms2.dll/DGDecode.dllの場所
set AVSPLG_PATH=C:\DTV\dgmpgdec158\DGDecode.dll
rem ※DGDecode.dllを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用します。
rem set AVSPLG_PATH=C:\Program Files\AviSynth 2.5\plugins\m2v_vfp\m2v.vfp

rem ##### ②入力の設定
rem □動画ファイル
rem 例 set VIDEO_PATH=E:\Videos\Record_20111228-050944.ts
rem ここでは、batファイルで処理される動画ファイル名が入力されます。
rem 以下は、bat処理やドラッグアンドドロップにより、ファイル名が自動的に入力されるようにしてあります。
rem set VIDEO_PATH=%~1
rem d2v用
set VIDEO_PATH=%~dpn1.d2v

rem ############################################################



rem ############################################################
rem ### 放送局ごとに設定が必要なファイル
rem ############################################################
rem ■ロゴデータ(lgdファイル)
set LOGO_PATH=C:\DTV\logoGuillo\BS11 1920x1080 new.lgd

rem ■ロゴデータ検出パラメータ(paramファイル)
set PRM_PATH=C:\DTV\logoGuillo\BS11 1920x1080 new.lgd.autoTune.param
rem ############################################################


rem ############################################################
rem ##### 出力の設定
rem ############################################################
rem □自動CMカット結果の出力先。
rem 例 set OUTPUT_PATH=E:\Videos\Record_20111228-050944.d2v.txt
rem ここでは、動画ファイルがあるフォルダ内に出力されるようにしてあります。
set OUTPUT_PATH=%~dpn1.d2v.txt

rem ①.keyframe方式
set OUTPUT_PATH_1=%~dpn1.d2v.keyframe

rem ②Trimコマンド方式
set OUTPUT_PATH_2=%~dpn1.d2v.txt

rem ③.chapters.txt方式
set OUTPUT_PATH_3=%~dpn1.d2v.chapters.txt

rem ④.chapters.txt方式(番組開始位置のみ)
set OUTPUT_PATH_4=%~dpn1.d2v.chapters.txt

rem ⑤Avisynth Script 形式
set OUTPUT_PATH_5=%~dpn1.d2v.avs


rem ############################################################


rem ############################################################
rem Trimコマンド生成
rem ############################################################

rem m2vの解析結果をd2vに利用する際には、オフセットで2を指定するとよいです(-frameOffset 2)
rem "%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 d2vの解析結果をd2vに利用する際には、オフセットは必要ありません。
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_1%" -outFmt keyF -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_2%" -outFmt trim -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_3%" -outFmt chap -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_4%" -outFmt chapIn -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_5%" -outFmt avs -fldOdr unknown 


rem v2.05以降では、前後の番組の一部が混入する事を防ぐ機能が、デフォルトで有効になっています。
rem (※無効にするにはマイナス値にしてください。例)-delFstBlk -4.0 -delLstBlk -2.0)
rem 前番組4.0秒以下、後番組3.5秒以下の混入を防ぐには、以下のようにします。

rem ①.keyframe方式
"%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_1%" -outFmt keyF -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ②Trimコマンド方式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_2%" -outFmt trim -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ③.chapters.txt方式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_3%" -outFmt chap -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ④.chapters.txt方式(番組開始位置のみ)
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_4%" -outFmt chapIn -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ⑤Avisynth Script 形式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_5%" -outFmt avs -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5


rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る



(2)logoGuillo_放送局処理(自動選択)_DGDecode_keyframe.bat
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_select_keyframe
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)

SET FILENAME="%~n1"
echo 処理対象ファイル名 %FILENAME%
echo 放送局ごとの処理をしていきます。
echo 放送局を判定したら表示します。
echo.

    @REM 検索対象(※ファイル名に放送局名を入れておく。)
    @REM ※検索対象外の放送局は、logoGuilloで処理されない(自動CMカットなし)
    
@rem
@rem 地上デジタル放送
@rem

@rem NHKについては全国共通。
    SET CHANNEL001="NHK総合"
    SET CHANNEL002="NHKEテレ"

@rem 民放は受信可能なものを、自分で指定。とりあえず関東用を用意。
    SET CHANNEL003=""
    SET CHANNEL003C="チバテレビ"
    SET CHANNEL003S="テレ玉"
    SET CHANNEL003K="tvk"
@rem         ※tvkはロゴ表示がないのでlogoGuilloはつかえない。 
    SET CHANNEL004="日本テレビ"
    SET CHANNEL005="テレビ朝日"
    SET CHANNEL006="TBS"
    SET CHANNEL007="テレビ東京"
    SET CHANNEL008="フジテレビ"
    SET CHANNEL009="TOKYO MX"
    SET CHANNEL010=""
    SET CHANNEL011=""
    SET CHANNEL012="放送大学"

@rem 
@rem BSデジタル放送 
@rem 

rem 無料放送
    SET CHANNEL101="NHKBS1"
    SET CHANNEL103="NHKBSプレミアム"

    SET CHANNEL141="BS日テレ"
    SET CHANNEL151="BS朝日"
    SET CHANNEL161="BS-TBS"
    SET CHANNEL171="BSジャパン"
    SET CHANNEL181="BSフジ"

    SET CHANNEL211="BS11"
    SET CHANNEL222="TwellV"

    SET CHANNEL231="放送大学BS1"
    SET CHANNEL232="放送大学BS2"
    SET CHANNEL233="放送大学BS3"
    SET CHANNEL531="放送大学ラジオ"

rem 有料放送
    SET CHANNEL191="WOWOWプライム"
    SET CHANNEL192="WOWOWライブ"
    SET CHANNEL193="WOWOWシネマ"
    SET CHANNEL200="スター・チャンネル1"
    SET CHANNEL201="スター・チャンネル2"
    SET CHANNEL202="スター・チャンネル3"

    SET CHANNEL234="グリーンチャンネル"
    SET CHANNEL236="BSアニマックス"
    SET CHANNEL238="FOXbs238"
    SET CHANNEL241="BSスカパー!"
    SET CHANNEL242="J SPORTS 1"
    SET CHANNEL243="J SPORTS 2"



    




cd /d %~dp0


    ECHO %FILENAME% | find %CHANNEL001% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL001% TRUE
call "logoGuillo_NHKG_DGDecode_keyframe.bat" "%~1"
)
    ECHO %FILENAME% | find %CHANNEL002% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL002% TRUE
call "logoGuillo_NHKE_DGDecode_fix_keyframe.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL211% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL211% TRUE
call "logoGuillo_BS11_DGDecode_keyframe.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL141% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL141% TRUE
call "logoGuillo_BS-NTV_DGDecode_keyframe.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL161% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL161% TRUE
call "logoGuillo_BS-TBS_DGDecode_keyframe.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL171% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL171% TRUE
call "logoGuillo_BS-JAPAN_DGDecode_keyframe.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL236% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL236% TRUE
call "logoGuillo_BSアニマックス_DGDecode_keyframe.bat" "%~1"
)

rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る



(3)手動CMカット用サンプル(TsSplitter&指定サイズ以上処理_logoGuillo_keyframe形式出力).bat

@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-100.html#AutoCMCut_AutoVFR_split
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#split_logoGuillo_keyframe

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

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

rem TsSplitterのパスを指定。
set TsSplitter=C:\DTV\TsSplitter Ver1.23\TsSplitter.exe

rem TsSplitterの出力先を指定。以下は、入力ファイルと同じフォルダに出力する設定。
set Out_path=%~dp1
set Out_path=%Out_path:~0,-1%
set Out_path=%Out_path%
echo Out_path=%Out_path%


echo "%TsSplitter%" -1SEG -OUT "%Out_path%" -SEP3 -OVL4,3 -SEPA "%~1"
"%TsSplitter%" -1SEG -OUT "%Out_path%" -SEP3 -OVL4,3 -SEPA "%~1"


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



rem 指定サイズ以上のTSファイルだけを処理
rem ### ※ENCSIZETHD=300000(300MB)と指定してあります
rem ### この場合は、TsSplitterによって生成された300MB以上のTSファイル(末尾に_HDや_SDなどとついているもの)
rem ### が順番に処理される予定です...

for %%t in ("%~dp1%~n1_*.ts") do (
 set TEMPSIZE=xxxxxxxxxxxx%%~zt
 set TEMPSIZE=!TEMPSIZE:~-11,-3!
 set TEMPSIZE=!TEMPSIZE:x=!
 IF !TEMPSIZE! GEQ %ENCSIZETHD% (



rem ここに処理の内容を記述
rem ここから、指定サイズ以上のファイルを処理
echo ##### 処理するファイルのサイズ#####
echo ###     !TEMPSIZE! KB
echo #########################
echo 処理




cd /d %~dp0
rem ### 字幕作成
rem call "C:\DTV\Caption2Ass_PCR_0202\字幕ファイル作成PCR_ass_srt作成.bat" "%~dp1%%~nt.ts"
rem echo call "C:\DTV\Caption2Ass_PCR_0202\字幕ファイル作成PCR_ass_srt作成.bat" "%~dp1%%~nt.ts"

rem ### 自動CMカット logoGuillo(放送局処理)
rem ### logoGuillo_放送局処理(自動選択).batから呼び出せるように
rem ### logoGuillo_BS11_DGDecode.bat等のbatファイルを用意しておく必要があります
rem echo call "logoGuillo_放送局処理(自動選択).bat" "%~dp1%%~nt.ts"
rem call "logoGuillo_放送局処理(自動選択).bat" "%~dp1%%~nt.ts"


rem echo 自動avs作成(logoGuillo読み込み)
rem echo ※logoGuilloの出力結果があれば、Trimを自動記述)
echo call "gen_avs2_d2v_aac_20111228_Common.bat" "%~dp1%%~nt.ts"
call "gen_avs2_d2v_aac_20111228_Common.bat" "%~dp1%%~nt.ts"
rem echo "gen_avs2_d2v_aac_20120323_Common_logoGuillo_DGDecode.bat" "%~dp1%%~nt.ts"
rem call "gen_avs2_d2v_aac_20120323_Common_logoGuillo_DGDecode.bat" "%~dp1%%~nt.ts"


rem ### キーフレーム logoGuillo(放送局処理)
rem ### logoGuillo_放送局処理(自動選択)_DGDecode_keyframe.batから呼び出せるように
rem ### logoGuillo_BS11_DGDecode_keyframe.bat等のファイルを用意しておく必要があります。
rem ### _DGDecodeと命名してあるものは、logoGuillo処理の際にd2vファイルが必要ですので、
rem ### さきにd2vファイルを用意しておく必要があります

rem echo call "DGIndex.bat" "%~dp1%%~nt.ts"
rem call "DGIndex.bat" "%~dp1%%~nt.ts"
echo call "logoGuillo_放送局処理(自動選択)_DGDecode_keyframe.bat" "%~dp1%%~nt.d2v"
call "logoGuillo_放送局処理(自動選択)_DGDecode_keyframe.bat" "%~dp1%%~nt.d2v"

rem 必要ならエンコードフォルダにコピー
copy "%%~dpnt.d2v.keyframe" "%~dp0%%~nt.d2v.keyframe"

rem 開始位置のみのchapters.txtがある場合、名称変更
if exist "%~dp1%%~nt.chapters.txt" (
copy "%~dp1%%~nt.chapters.txt" "%~dp1%%~nt.chapters.txt.bak"
del "%~dp1%%~nt.chapters.txt"
)

rem keyframe → chapters.txt(開始位置・終了位置)変換
call "gen_.keyframe_to_.chapters.txt.bat" "%%~dpnt.d2v.keyframe"
rem chapters.txt(開始位置・終了位置)→TvtPlay用chapterファイル変換
rem call "gen_.chapters.txt_to_.chapter(チャプターのみ追加).bat" "%~dp1%%~nt.chapters.txt"
call "gen_.chapters.txt_to_.chapter(チャプタースキップ用)b.bat" "%~dp1%%~nt.d2v.chapters.txt"






rem 自動的に字幕をカットします。
rem ※さきに、字幕作成batファイルによりass,srt等の字幕ファイルが生成されている必要があります。
rem echo 自動字幕カット
rem set cutass_path=C:\DTV\up0792 cutass ver0.08 : 内部コード修正、(使わない)機能追加\cutass.exe
rem echo "!cutass_path!" -t "%~dp0%%~nt.avs" "%~dp1%%~nt.ts"
rem "!cutass_path!" -t "%~dp0%%~nt.avs" "%~dp1%%~nt.ts"

rem ### 字幕ファイル(ass,srt)をエンコード用フォルダに移動します。
rem echo 字幕ファイル(ass,srt)をエンコード用フォルダに移動
rem copy "%%~dpnt*.ass" "%~dp0%%~nt*.ass"
rem copy "%%~dpnt*.srt" "%~dp0%%~nt*.srt" 


rem ### エンコードを開始するためには、
rem ### 自動avs作成のbatファイルを作成しておく必要があります。
rem echo エンコード(自動VFR)※以下から1つ指定しておく。
rem call "encode_crf21_for_24fps_1280x720auto-test_AutoVFR(ConvEV_EasyVFR).bat" "%%~nt.avs"
rem call "encode_crf21_for_24fps_1280x720auto-test_AutoVFR(AutoVfr_Def)00.bat" "%%~nt.avs"
rem call "encode_crf21_for_24fps_1280x720auto-test_AutoVFR(AutoVfr_EasyVFR)00.bat" "%%~nt.avs"
rem call "encode_crf21_for_24fps_1280x720auto-test_AutoVFR(DupMC2Def)00.bat" "%%~nt.avs"


rem echo TsSplitterで作成したファイルやエンコード用に作成したファイル完全削除。ごみ箱にも残りません。
rem echo ※一定サイズ以上のファイルだけ削除。ここで削除した場合は、一定サイズ未満のファイルは残ると思います。
rem del "%%t"


rem ここまで、指定サイズ以上のファイルを処理
 )
)





rem echo TsSplitterで作成したファイルやエンコード用に作成したファイルすべて完全削除。ごみ箱にも残りません。
rem echo ※avsファイルをAviutl等で開いている場合にはファイルは削除されず残ると思います。
rem del "%~dp1%~n1_*"



rem ###おまけ
rem ### 指定サイズ以下のTSファイルだけを処理
rem ### ※ENCSIZETHD=300000(300MB)と指定してあります
rem ### この場合は、TsSplitterによって生成された300MB以下のTSファイル(末尾に_HDや_SDなどとついているもの)
rem ### が削除される予定です

for %%a in ("%~dp1%~n1_*.ts") do (
 set TEMPSIZE=xxxxxxxxxxxx%%~za
 set TEMPSIZE=!TEMPSIZE:~-11,-3!
 set TEMPSIZE=!TEMPSIZE:x=!
 IF !TEMPSIZE! LEQ %ENCSIZETHD% (
rem ここに処理の内容を記述
rem ここから、指定サイズ以下のファイルを処理
echo "%~dp1%%~na.ts"
rem copy "%%a" "%%a.bak"
del "%~dp1%%~na.ts"

rem ここまで、指定サイズ以下のファイルを処理
 )
)



endlocal
rem pause
exit /b
もくじに戻る



3-2. logoGuillo_chapters.txt出力batファイル(テスト用サンプル)
(1)logoGuillo_BS11_DGDecode_chapters.txt.bat
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_BS11_chapters.txt
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)


rem ############################################################
rem ##### 簡易説明書(読んでね!)
rem ############################################################
rem d2vファイルを入力します。
rem 都合上、avsファイル作成の前に、自動CMカットします。
rem ※他の放送局に対応するbatファイルを簡単に作成する際には、
rem このbatファイルをコピーして、
rem このbatファイルの名前と、ロゴデータと検出パラメータの指定を、
rem 他の放送局のものに変更すれば簡単です。
rem 
rem ①ロゴデータと検出パラメータは、各放送局ごとに指定する必要があります
rem (ロゴデータ等は、自動CMカットの前に用意しておく必要があります)
rem ※lgdファイル名に日本語を使うと、GUIでの処理で文字化けするかも。logoGuillo本体でも処理できないかも。
rem ②d2vを使ってCMカットします。
rem ※avsでd2vを使用している場合は、オフセットは不要です。
rem ※d2vを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用してください。
rem ############################################################


rem ############################################################
rem ### 以下では、処理に使用するファイルを指定します
rem ############################################################

rem ############################################################
rem ### 共通利用ファイル
rem ### 以下のファイルは、基本的に、放送局が異なる場合でも、共通で利用します。
rem ### ■の1行下の設定にあわせてファイルを配置します。
rem ### 別の場所にしたい場合は、個別環境に合わせて書き換えます。
rem ############################################################

rem ■logoGuilloの場所。
set LOGOG_PATH=C:\DTV\logoGuillo\logoGuillo.exe

rem ##### ①Avisynthの設定 ※基本的には変更なし。固定値。
rem ■avs2pipemod.exe等の場所
set AVS2X_PATH=C:\DTV\logoGuillo\avs2pipemod.exe
rem ■m2v.vfp/ffms2.dll/DGDecode.dllの場所
set AVSPLG_PATH=C:\DTV\dgmpgdec158\DGDecode.dll
rem ※DGDecode.dllを使用する場合は、v2.05以降のバージョンのlogoGuilloを利用します。
rem set AVSPLG_PATH=C:\Program Files\AviSynth 2.5\plugins\m2v_vfp\m2v.vfp

rem ##### ②入力の設定
rem □動画ファイル
rem 例 set VIDEO_PATH=E:\Videos\Record_20111228-050944.ts
rem ここでは、batファイルで処理される動画ファイル名が入力されます。
rem 以下は、bat処理やドラッグアンドドロップにより、ファイル名が自動的に入力されるようにしてあります。
rem set VIDEO_PATH=%~1
rem d2v用
set VIDEO_PATH=%~dpn1.d2v

rem ############################################################



rem ############################################################
rem ### 放送局ごとに設定が必要なファイル
rem ############################################################
rem ■ロゴデータ(lgdファイル)
set LOGO_PATH=C:\DTV\logoGuillo\BS11 1920x1080 new.lgd

rem ■ロゴデータ検出パラメータ(paramファイル)
set PRM_PATH=C:\DTV\logoGuillo\BS11 1920x1080 new.lgd.autoTune.param
rem ############################################################


rem ############################################################
rem ##### 出力の設定
rem ############################################################
rem □自動CMカット結果の出力先。
rem 例 set OUTPUT_PATH=E:\Videos\Record_20111228-050944.d2v.txt
rem ここでは、動画ファイルがあるフォルダ内に出力されるようにしてあります。
set OUTPUT_PATH=%~dpn1.d2v.txt

rem ①.keyframe方式
set OUTPUT_PATH_1=%~dpn1.d2v.keyframe

rem ②Trimコマンド方式
set OUTPUT_PATH_2=%~dpn1.d2v.txt

rem ③.chapters.txt方式
set OUTPUT_PATH_3=%~dpn1.d2v.chapters.txt

rem ④.chapters.txt方式(番組開始位置のみ)
set OUTPUT_PATH_4=%~dpn1.d2v.chapters.txt

rem ⑤Avisynth Script 形式
set OUTPUT_PATH_5=%~dpn1.d2v.avs


rem ############################################################


rem ############################################################
rem Trimコマンド生成
rem ############################################################

rem m2vの解析結果をd2vに利用する際には、オフセットで2を指定するとよいです(-frameOffset 2)
rem "%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 d2vの解析結果をd2vに利用する際には、オフセットは必要ありません。
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_1%" -outFmt keyF -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_2%" -outFmt trim -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_3%" -outFmt chap -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_4%" -outFmt chapIn -fldOdr unknown 
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_5%" -outFmt avs -fldOdr unknown 


rem v2.05以降では、前後の番組の一部が混入する事を防ぐ機能が、デフォルトで有効になっています。
rem (※無効にするにはマイナス値にしてください。例)-delFstBlk -4.0 -delLstBlk -2.0)
rem 前番組4.0秒以下、後番組3.5秒以下の混入を防ぐには、以下のようにします。

rem ①.keyframe方式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_1%" -outFmt keyF -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ②Trimコマンド方式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_2%" -outFmt trim -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ③.chapters.txt方式
"%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_3%" -outFmt chap -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ④.chapters.txt方式(番組開始位置のみ)
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_4%" -outFmt chapIn -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5

rem ⑤Avisynth Script 形式
rem "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH_5%" -outFmt avs -fldOdr unknown -delFstBlk 4.0 -delLstBlk 3.5


rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る



(2)logoGuillo_放送局処理(自動選択)_DGDecode_chapters.txt.bat
@echo off
setlocal

rem http://soranikakaruhashi.blog.fc2.com/blog-entry-109.html#logoGuillo_chapters.txt
rem 作業開始

:bat_start
rem d2vファイルを入力してください。
if not "%~x1"==".d2v" (
goto end
)

SET FILENAME="%~n1"
echo 処理対象ファイル名 %FILENAME%
echo 放送局ごとの処理をしていきます。
echo 放送局を判定したら表示します。
echo.

    @REM 検索対象(※ファイル名に放送局名を入れておく。)
    @REM ※検索対象外の放送局は、logoGuilloで処理されない(自動CMカットなし)
    
@rem
@rem 地上デジタル放送
@rem

@rem NHKについては全国共通。
    SET CHANNEL001="NHK総合"
    SET CHANNEL002="NHKEテレ"

@rem 民放は受信可能なものを、自分で指定。とりあえず関東用を用意。
    SET CHANNEL003=""
    SET CHANNEL003C="チバテレビ"
    SET CHANNEL003S="テレ玉"
    SET CHANNEL003K="tvk"
@rem         ※tvkはロゴ表示がないのでlogoGuilloはつかえない。 
    SET CHANNEL004="日本テレビ"
    SET CHANNEL005="テレビ朝日"
    SET CHANNEL006="TBS"
    SET CHANNEL007="テレビ東京"
    SET CHANNEL008="フジテレビ"
    SET CHANNEL009="TOKYO MX"
    SET CHANNEL010=""
    SET CHANNEL011=""
    SET CHANNEL012="放送大学"

@rem 
@rem BSデジタル放送 
@rem 

rem 無料放送
    SET CHANNEL101="NHKBS1"
    SET CHANNEL103="NHKBSプレミアム"

    SET CHANNEL141="BS日テレ"
    SET CHANNEL151="BS朝日"
    SET CHANNEL161="BS-TBS"
    SET CHANNEL171="BSジャパン"
    SET CHANNEL181="BSフジ"

    SET CHANNEL211="BS11"
    SET CHANNEL222="TwellV"

    SET CHANNEL231="放送大学BS1"
    SET CHANNEL232="放送大学BS2"
    SET CHANNEL233="放送大学BS3"
    SET CHANNEL531="放送大学ラジオ"

rem 有料放送
    SET CHANNEL191="WOWOWプライム"
    SET CHANNEL192="WOWOWライブ"
    SET CHANNEL193="WOWOWシネマ"
    SET CHANNEL200="スター・チャンネル1"
    SET CHANNEL201="スター・チャンネル2"
    SET CHANNEL202="スター・チャンネル3"

    SET CHANNEL234="グリーンチャンネル"
    SET CHANNEL236="BSアニマックス"
    SET CHANNEL238="FOXbs238"
    SET CHANNEL241="BSスカパー!"
    SET CHANNEL242="J SPORTS 1"
    SET CHANNEL243="J SPORTS 2"



    




cd /d %~dp0


    ECHO %FILENAME% | find %CHANNEL001% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL001% TRUE
call "logoGuillo_NHKG_DGDecode_chapters.txt.bat" "%~1"
)
    ECHO %FILENAME% | find %CHANNEL002% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL002% TRUE
call "logoGuillo_NHKE_DGDecode_fix_chapters.txt.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL211% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL211% TRUE
call "logoGuillo_BS11_DGDecode_chapters.txt.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL141% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL141% TRUE
call "logoGuillo_BS-NTV_DGDecode_chapters.txt.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL161% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL161% TRUE
call "logoGuillo_BS-TBS_DGDecode_chapters.txt.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL171% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL171% TRUE
call "logoGuillo_BS-JAPAN_DGDecode_chapters.txt.bat" "%~1"
)

    ECHO %FILENAME% | find %CHANNEL236% >NUL
    IF %ERRORLEVEL% EQU 0 (
ECHO %CHANNEL236% TRUE
call "logoGuillo_BSアニマックス_DGDecode_chapters.txt.bat" "%~1"
)

rem 放送局名が見つからない場合は、logoGuilloで処理されない(自動CMカットなし)
rem 次のファイルがあれば :encode に戻る
shift
if not "%~1"=="" goto bat_start
endlocal
rem pause
exit /b


:end
endlocal
echo 入力したファイルの拡張子がd2vではありません。
echo d2vファイルを入力してください。
pause
exit /b
もくじに戻る



(3)自動CMカット用サンプル(TsSplitter&指定サイズ以上処理_logoGuillo_chapters.txt形式出力).bat

もくじに戻る



4. batファイル(テスト用サンプル3)
4-1. keyframe ←→ chapters.txt 変換用batファイル(テスト用サンプル)
(1)gen_.keyframe_to_.chapters.txt.bat
ちょっと修正(bat呼び出しで使えるようにたぶん修正)

もくじに戻る



(2)gen_.chapters.txt_to_.keyframe.bat
ちょっと修正(bat呼び出しで使えるようにたぶん修正)

もくじに戻る



(3)gen_.keyframe_to_Trim.bat

もくじに戻る



4-2. TvtPlay用.chapter生成用batファイル(テスト用サンプル)
(1)gen_.chapters.txt_to_.chapter(チャプターのみ追加).bat
ちょっと修正(bat呼び出しで使えるようにたぶん修正)

もくじに戻る



(2)gen_.chapters.txt_to_.chapter(チャプタースキップ用)b.bat
ちょっと修正(出力結果がおかしくなるため1ミリ秒未満の計算修正、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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。