ロゴ検出型自動CMカットプログラム logoGuillo FAQ
Q.局毎に変更する必要のある物は何ですか
A.局毎に変更する必要のある物は以下の通りです。一度作成すれば同じ局の番組で使い回すことが出来ます。
- ロゴデータ(*.lgd)
- ロゴ検出パラメータ(*.param)
Q.動画が読み込めない(Avs2yuvのエラーが表示される)
A1.まず、読み込めない動画がlogoGuilloから使用している入力プラグイン(m2v.vfp等) が対応している形式か確認して下さい。また、Avisynthや入力プラグイン等の動作に必要な環境が正常にインストールされているか確認して下さい。
A2.m2v.vfpでは読み込めないが、ffms2.dllを使用すると正常に読み込める場合は、Avisynthのプラグインのオートローディングが機能していない為にwarpsharp.dllが読み込まれていないと思われます。この状態ではLoadAviUtlInputPluginが見つからないのでエラーが発生します。warpsharp.dllのパスをオプション(-wsharp "path")を使用して明示的に指定して下さい。
A3.動画の尺が長い又は低速なドライブに置かれている場合は、入力プラグインでのインデックス生成に時間が掛かりタイムアウトしている可能性があります。
m2v.vfpを使用している場合は、mme.exeで予めGOPリスト(*.gl)を生成して下さい。
ffms2.dllを使用している場合は、ffmsindex.exe等で予めインデックス(*.ffindex)を生成して下さい。
Q.検出精度が悪い又はうまく検出できない
logoGuilloの動作精度を上げる為の注意点もご覧下さい。
A1.当然ですが検出精度はロゴデータの出来に左右されます。出来るだけ綺麗なロゴデータを作成してください。綺麗なロゴデータの目安としてはAviUtlでロゴが綺麗に除去できる程度となります。
A2. また、検出パラメータの設定値でも大きく検出精度は変わってきます。検出パラメータ調整モードで使用する動画は以下のような物を推奨します。
- 取りこぼしの発生しやすい難易度の高い物(高輝度のシーン、動きの激しいシーンなどが含まれる)
- ある程度の尺(1時間以上)がある物
A3.高輝度でロゴが見えない局では、常にロゴが見える局に比べて検出精度が低下する事があります。
Q.本編とCMのカット位置が多少ずれる
・カット位置の精度が低下する原因として、ロゴの表示タイミングの変化が挙げられます。
大抵の局ではCMから本編に入ってもロゴが出るまでにタイムラグがあります。(逆に本編が終わるときはCMに入る前にロゴが消えます。)この時間は同じ局であっても番組毎に異なるため誤差の原因となります。
logoGuilloではこのロゴが表示されるまでのフレーム数をカットマージンとして指定する事ができます。また、CMと本編の間のシーンチェンジを検出する事でカット位置の補正を行っています。
A1.ロゴの表示タイミングの変化が原因の場合
シーンチェンジ検出を有効にすることで改善します。
A2.カットマージンの指定が不正確な場合
検出パラメータの調整を行う際に、シーンチェンジ検出の結果に基づき自動的にカットマージンが決定されます。このカットマージンが間違っている場合、手動でカットマージンを指定する事で動作が改善する場合があります。
ロゴが出るまで6フレーム、ロゴが消えてからCMに入るまで30フレームの場合、
"-cutMrgIn 4 -cutMrgOut 28"を引数に追加して下さい。
*2フレーム引いているのはシーンチェンジ検出による補正が本編側へは1フレームしか行われない為です。但し、(n>=0)として下さい。
*シーンチェンジ検出を使用しない場合はそのままのフレーム数を指定して下さい。
*検出パラメータファイル(*.param)をメモ帳で開き直接書き換える方法もあります。
A3.シーンチェンジ検出による補正が誤動作している場合
特殊なソースではシーンチェンジが検出出来ない場合があります。その場合はシーンチェンジ検出を無効にして下さい。
Q.稀にCMが入ってしまう
A1.基本的に可能な限り本編を取りこぼさないように動作します。判定が怪しい(確実にCMだと言い切れない)場合は本編と見なして処理する仕様となっています。
A2.高輝度でロゴが判別できない局では、CMと本編の境界前後が高輝度シーンの場合、信頼できるカット位置を決定する事が出来ません。そのため、本編に隣接するCMの一部が含まれる場合があります。
積極的なポストフィルタを使用する事で高輝度CMの除去を行えますが、万が一誤動作した場合には高輝度の本編が削られる可能性があります。
Q.前後の番組が入ってしまう
A1.ロゴが表示されていれば前後の番組だとしても本編と見なされます。事前に番組情報等で分割処理したファイルを使用することで前後の番組が含まれるのを回避出来ます。
*本編の最小粒度は1.6秒です。前後の番組が多少残っていても、この長さ以下なら無効として扱われます。
A2.指定秒数以下の前後端のブロックをオプションにより除去することで前後の番組の混入を防止できます。但し、後端の長さの閾値を延ばすとエンドカードが削除される可能性があるので注意して下さい。
Q.高輝度でロゴが見えない局とは何ですか
A.BS11やCX(フジ)、テレビ朝日等、画面が白色になった際にロゴが"完全に"消えてしまう局の事です。
Q.高速化したい
A1.推奨はm2v.vfpですが、FFmpegSource(ffms2.dll)を使用する事で3倍以上高速になります。
但し、FFmpegSourceはMPEG2ファイル(*.m2v等)を読み込んだ場合にフレームアキュレートではないため結果が数フレームずれる事があります。
その為、ffms2.dllはシーンチェンジ検出を無効にしてCMカット位置の当たりを付ける用途での使用のみ推奨します。
その場合は*.ffindex生成済の30分番組一本を最速で30秒程度で処理できます。
A2.複数本(2,3本程度)同時に処理させる事である程度高速化します。同一ファイル名の動画を同一時刻に処理開始しない限り、logoGuilloを複数同時起動しても問題有りません。
A3.DGDecode.dllを使用してDGIndexのプロジェクトファイル(*.d2v)を読み込むと多少高速に動作します。
Q.正しくカットできたか簡単に確認したい
A.CMカット後に出力される概要をメモ帳などで開いて下さい。 提供画面にロゴが表示される場合 にはCMの長さは15秒の倍数になります。また同じ番組をエンコードした場合、大抵は本編のブロック数と番組の長さが話数によらず等しくなるのでそこを確認して下さい。(最終回だけは次回予告がない分少し短くなったりします。)
logoGuilloのログ(*_autoCutSummary.log)の読み方とCMカット結果の簡易チェック方法
Q.フィールドオーダーを正しく指定する必要はあるのか
A.基本的に"不明"を指定して頂ければ問題ありません。
シーンチェンジ検出が有効の場合にフィールドオーダーを正しく指定すると、希にカット位置の精度が最大で1フレーム向上する場合があるだけです。
但し、CMと本編の境界でフィールドオーダーが逆になっている場合は逆に1フレーム余計なシーンが入りますので注意して下さい。