Skip to content

CM自動カット位置情報作成。転載・改変は連絡不要です(各自の責任でお願いします)。

Notifications You must be signed in to change notification settings

yobibi/join_logo_scp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

//
// CM自動カット位置情報作成 join_logo_scp   by Yobi
//                          ver5.1対応
//

■ 概要

事前に別ソフトで検出した
・ロゴ表示区間
・無音&シーンチェンジ
の情報を基にして、CMカット情報(Trim)を記載したAVSファイルを作成します。


■事前準備

・透過ロゴ表示区間検出 logoframe
・無音&シーンチェンジ検索 chapter_exe(改造版 by Yobi を推奨)

を実行して、ロゴ表示区間と無音&シーンチェンジ位置を
出力してください。
chapter_exeはオリジナルでも一応可能と思いますが、改造版 by Yobiを
使った方が明確に違いがわかるレベルで精度が上がります。

これに加え、カット処理方法を記載した実行内容スクリプトを使います。
(例として、添付ファイルの「JL_標準.txt」。30分枠アニメのCMカットで
  チューニングしてありますが汎用的に使えると思います。)

※ロゴ結果なしでも精度は多少落ちますが動作可能にしました(ver2.1追加)。


■使い方

batファイル等で下記コマンドを実行。

join_logo_scp -inlogo ファイル名 -inscp ファイル名 -incmd ファイル名 -o ファイル名 その他オプション

(オプションの説明)

  オプションは左側から順番にアクセスして同じ設定は上書きされます。(ver3.0追加)
  そのため同じ項目設定があったら後側記載が有効になります。

  -inlogo ファイル名
    logoframeの"-oa"オプションで出力したファイル名を指定します。
    指定しない場合、ロゴ期間がない場合は全フレームがロゴ表示とみなします。

  -inscp ファイル名
    chapter_exeの"-o"オプションで出力したファイル名を指定します。[必須]

  -incmd ファイル名
    カット処理方法を記載した実行内容スクリプトを指定します。[必須]
    JL_標準.txt(このファイルと一緒に添付)が例です。

  -o ファイル名
    出力するCMカット情報のAVSファイル名です。[必須]

  -CutMrgIn 数値
    シーンチェンジからロゴ表示開始までのフレーム数を指定します。
    通常ロゴ別の固定値です。指定した方が精度が上がります。

  -CutMrgOut 数値
    ロゴ表示終了からシーンチェンジまでのフレーム数を指定します。
    通常ロゴ別の固定値です。指定した方が精度が上がります。

  -CutMrgWI 数値
    1を指定した場合、ロゴ表示開始位置にシーンチェンジがあった場合には
    設定値=0としてCutMrgInの値を使いません。(ver3.0追加)
    2を指定した場合、CutMrgInが小さい時のみ1を指定した動作をします。

  -CutMrgWO 数値
    1を指定した場合、ロゴ表示終了位置にシーンチェンジがあった場合には
    設定値=0としてCuMrgtOutの値を使いません。(ver3.0追加)
    2を指定した場合、CutMrgOutが小さい時のみ1を指定した動作をします。

  -flags フラグ名,フラグ名,フラグ名
    実行内容スクリプトで分岐処理を行う場合、分岐用フラグ名を指定します。
    ","で区切ることで複数のフラグ名を指定可能です。
    フラグ名:値 とすることでフラグ名に値を設定できます。(ver3.0追加)

 (例)-flags fa,fb:0,fc:2
     変数として fa=1,fb=0,fc=2 を設定します。fbはフラグなし扱いになります。

  -set 変数名 設定値
    実行内容スクリプトで使用する変数の値を設定できます。
    このオプションは繰り返し指定可能です。

  -lastcut 数値
    最終フレームから指定したフレーム数の画像は使用しません。
    最後は画像が乱れていて使いたくない場合に指定します。

  -oscp ファイル名
    解析用ファイルを出力します。番組構成把握の参考になります。
    CMが基本15秒単位であることを前提に解析情報(下記)を出力します。
      単位フレーム開始位置
      単位フレーム終了位置
      単位フレーム期間(秒数)
      単位フレーム期間秒数からの誤差(フレーム数)
      単位フレーム期間内のロゴ表示期間(秒数)
      単位フレームとして推測した構成(Auto系コマンド使用時のみ表示)

  -odiv ファイル名
	DivFileコマンドによる分割フレームリストを出力します。(ver3.06n追加)

  -sublist フォルダリスト
    -incmd場所に実行スクリプトがない場合サブフォルダも検索します。(ver4.0追加)
    -incmd場所からの指定で、","で区切ることで複数のサブフォルダを指定可能です。
   フォルダリストの最初に"+"を記載したら現在の設定値の前に追加します。
   <を記載したら-incmd場所になり、その前にサブフォルダを記載したら-incmd場所
   よりも先に検索可能にできます。(ver5.0追加)
   初期値は"user,<,common"で、サブフォルダ"user"を検索し、なければ-incmd場所、
   その次に"common"を検索します。

 (例)-sublist "+test"
     test,user,-incmd場所,common(-incmd場所以外はサブフォルダ)の順で検索

  -subpath フォルダ名
    指定なければサブフォルダは-incmd場所から検索しますが、
    指定した場合は指定フォルダ名場所からサブフォルダを検索します。(ver4.0追加)

  -setup ファイル名
    共通で最初に読み込まれる実行スクリプトを指定します。(ver5.0追加)
    未指定時は"JL_common.txt"となり、-setup "" としたら読み込みません。

  -pathread パス名リスト
    Read系コマンドでパス指定ない時の読み込みパスを指定します。(ver5.1追加)
    コンマ区切りで複数記載でき、先に記載したパスが優先されます。
    パス名リストの最初に"+"を記載したら現在の設定値の前に追加します。
    初期値は"${JLUSERPATH},${JLDATAPATH}"で、設定は変数(JLPATHREAD)に反映され
    サブフォルダ"user"を検索し、なければサブフォルダ"data"を検索します。

  -syscode 種類
    標準出力/標準エラーの文字コードを設定します。(ver5.0追加)
    種類は下記数字または直後()内の文字列を選択で、未指定時は標準になります。
    標準とShift-JISを分離、BOMなしUTF-8を追加しています。(ver5.1追加)
    Linuxでコンパイル時の標準初期値は12(UTF8N)としています。
      1(STD)   : 標準(Windows標準はShift-JIS、-stdcodeで変更可能)
      2(UTF8)  : UTF-8(ファイル作成時BOMあり)
      3(UTF16) : UTF-16(ファイル作成時BOMあり)
     11(SJIS)  : Shift-JIS
     12(UTF8N) : UTF-8(ファイル作成時BOMなし)

  -stdcode 種類
    文字コードで標準(STD)を選択した時の文字コードを変更します。(ver5.1追加)
    種類は-syscodeのSTD以外の数字または直後()内の文字列を指定します。

  -F ファイル名
    オプションを別ファイルから読むことができます。(ver3.0追加)
    ファイル内にオプションそのまま記載していきますが、空白位置で改行可能です。
    #から始まる行はコメント扱いで読み込みません。

 ※-CutMrgIn,-CutMrgOutは指定がない場合に自動検出する処理が入っています。
   (指定した方が確実ですが、完全自動の精度を上げるため追加)


■ 最後に

CM自動カットの技術的可能性を調査する研究目的で作ったフリーソフトウェアです。
自環境での最適化検討を行っているバージョンです。
転載・改変は連絡不要です(各自の責任でお願いします)。

About

CM自動カット位置情報作成。転載・改変は連絡不要です(各自の責任でお願いします)。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.9%
  • Other 0.1%