スポンサーサイト

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

Auto_VFR_Fastについて

Auto_VFR_FastはDoubleWeaveしたクリップを1/6に間引いてから解析しています。



上図は元クリップをDoubleWeaveした後の状態です。
24fpsではいずれのパターンにおいても、黄色いフレームが5回連続で縞が続くことは無いことが分かります。
これによって24fpsか30(60)fpsかの区別をしています。

逆に言うとこれより短いフレーム数では24fpsと30fps以上との区別をする材料として足りないため、
フレームレートの変更を正確に捕捉できない可能性があります。

つまりAuto_VFR_Fastは細かくフレームレートが変わるような作品には向いておらず、
実質的にテロップ処理専用と考えて使うのがよさそうです。

スポンサーサイト

無題

x264 r2208って、r2200までと違って"--bitrate 0"に指定できないんですね。

というわけで今度から解析の時は"--bitrate 1"と書いておこう。
いやそもそも別に書かなくてもいい気もしますけどね・・・。

Auto_VFR ver 0.1.0.6

Auto_VFR.avs
Auto_VFR_Fast.avs

分割に関するパラメータを変更しました。

【変更点】
① "start","total","middle"パラメータの廃止
② "cut", "number" パラメータの追加
③ Auto_VFR_Fastも分割に対応(②のパラメータを追加)


【syntax(追加分)】
Auto_VFR(int "cut",int "number")
Auto_VFR_Fast(int "cut",int "number")

"cut" =ログの分割数を入力します。
"number" =分割ログの中の何番目かを入力します。

//------------------------------------------------------------------------

前バージョンまでの分割方法ではいろいろ面倒だったので、関数内で自動的に均等なフレーム数に
分割する仕様に変更しました。
なお分割解析しない場合はこれらのパラメータは設定しないか、またはcut=1,number=1にしておいてください。


●4分割してログを作成する例

まず設定を記述するヘッダーとなるavsを作ります。
/*-----------------------------------header.avs-----------------------------------*/
#入力ソース
video_file="test.d2v"

#トリム
str_trim="Trim(27,5239)++Trim(7039,25350)++Trim(27149,46178)++Trim(47978,48577)"

#分割数
cut=4

#Auto_Vfr_Fastを使う場合はtrueにしてください
IsFast=false

#ソース読込&CMカット
MPEG2Source(video_file)
Eval(str_trim)

#return lastは書かない
/*----------------------------------- ここまで-----------------------------------*/


そして同じフォルダに以下の4つのavsを置きます。
/*----------------------------------- av1.avs-----------------------------------*/
Import("header.avs")
(!IsFast)?Auto_VFR("log1.txt",cut=cut,number=1)
\:Auto_VFR_Fast("log1.txt",cut=cut,number=1)
return last
/*----------------------------------- av2.avs-----------------------------------*/
Import("header.avs")
(!IsFast)?Auto_VFR("log2.txt",cut=cut,number=2)
\:Auto_VFR_Fast("log2.txt",cut=cut,number=2)
return last
/*----------------------------------- av3.avs-----------------------------------*/
Import("header.avs")
(!IsFast)?Auto_VFR("log3.txt",cut=cut,number=3)
\:Auto_VFR_Fast("log3.txt",cut=cut,number=3)
return last
/*----------------------------------- av4.avs-----------------------------------*/
Import("header.avs")
(!IsFast)?Auto_VFR("log4.txt",cut=cut,number=4)
\:Auto_VFR_Fast("log4.txt",cut=cut,number=4)
return last


以下のバッチファイルで4つのavsを同時に実行できます。
最後に結合したログ"log.txt"が出力されて完成です。

Set x264="x264.exe"
Set analyze=--preset ultrafast --tune fastdecode --merange 4 --ref 0 --no-psy --bitrate 1 --output NUL

Set avs1="av1.avs"
Set avs2="av2.avs"
Set avs3="av3.avs"
Set avs4="av4.avs"

%x264% %analyze% %avs1% | %x264% %analyze% %avs2% | %x264% %analyze% %avs3% | %x264% %analyze% %avs4%

Set log1="log1.txt"
Set log2="log2.txt"
Set log3="log3.txt"
Set log4="log4.txt"
Set log="log.txt"

copy %log1% + %log2% + %log3% + %log4% %log%

//------------------------------------------------------------------------

上記の例では4分割していますが、Trimの個数に縛られなくなったので、CPUとメモリが許す限り
分割数は自由に設定できます。
とりあえず8スレッドなら6分割くらい、12スレッドなら8分割くらいが妥当なんじゃないかと思います。


//------------------------------------------------------------------------
Auto_VFR_FastだけGUI化してみました。
AVF_GUI

Auto_VFR通常版ほど高機能ではありませんが非常に高速なので、テロップ位置を探すためだけの
ツールとして使ってもいいかもしれません。


自分用メモ

輪廻のラグランジェ season2
3カット構成。後ろから順に10秒提供,20秒予告,ED。
str_trim="##trim##"
chap_file="chapter.txt"
chap=TrimClean(str_trim)
chap=TrimSplit(chap,1,3000,back=True)
chap=TrimSplit(chap,TrimCount(chap),300,back=True)
chap=TrimSplit(chap,TrimCount(chap)-1,600,back=True)
chap=TrimSplit(chap,TrimCount(chap)-2,2700,back=True)
part="avant,op,a-part,b-part,ed,next,ec"
WriteChapter(chap,chap_file,part,fps=framerate)

ココロコネクト
15秒予告の後にEDの構成。
str_trim="##trim##"
chap_file="chapter.txt"
chap=TrimClean(str_trim)
chap=TrimSplit(chap,1 ,3000,back=True)
chap=TrimSplit(chap,TrimCount(chap)-1,2700,back=True)
chap=TrimSplit(chap,TrimCount(chap)-2,450 ,back=True)
part="avant,op,a-part,b-part,next,ed,ec"
WriteChapter(chap,chap_file,part,fps=framerate)

バッチファイルの順次実行ツール

前回のツールでは各プロジェクトのバッチ処理をまとめて1枚のファイルで出力してましたが、
実際にはエンコードがエラー等で途中で止まる事も多いので、プロジェクトごとに別々に分けて
作成した方が良さそうです。

複数のバッチファイルを順次実行する簡易ツールも紹介しておきます
BatManager

エラー落ちなどの理由でCPU使用率の低い状態が一定時間続いたら現在のバッチ処理を途中終了して
次のファイルを実行します。
スクリプトの最後に"pause"や "cmd /k"とかは当然付けない方が良いでしょう。


プロフィール

putin

Author:putin
ロゴ関係ソース

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

リンク
ブロとも申請フォーム

この人とブロともになる

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