FC2ブログ

スポンサーサイト

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

TVアニメで自動的にチャプターファイルを作成する方法

以前に文字列のTrimを編集する関数集としてここにメモったのですが、
実は本当はチャプターファイルを作る事を主旨として書いたスクリプトだったので、
簡易的にチャプターファイルを作成する方法として改めて紹介してみます。
TrimClean

/*------------チャプターファイル作成例------------*/
①まずCMカットで作ったTrimを文字列として貼り付けます。
str="Trim(29,5482)++Trim(7282,23553)++Trim(25353,46332)++Trim(49030,50377)"
↑のような4分割のトリムで、番組の編成が
【アバン・OP・提供】,【Aパート】, 【Bパート・ED】,【次回予告・提供・EC】
だったとします。
これを
【アバン】,【OP・提供】,【Aパート】,【Bパート】,【ED】,【次回予告・提供】,【EC】
に分割していきたいと思います。


②トリムを0から始まる連結した数字に書き直します(お約束として必ず書きます)。
str=TrimClean(str)
※"str"の中身がどう変わったかは以下の関数で確認できます。
subtitle(str)


③1番目のトリム【アバン・OP・提供】を,後ろから3000フレームで分割(アバンとOPを分離)
str=TrimSplit(str,1,3000,back=true)

④最後から2番目のトリム【Bパート・ED】を,後ろから2700フレームで分割(BパートとEDを分離)
str=TrimSplit(str,TrimCount(str)-1,2700,back=true)

⑤最後のトリム【次回予告・提供】を,後ろから150フレームで分割(提供とECを分離)
str=TrimSplit(str,TrimCount(str),150,back=true)
ここまででもう一度 subtitle(str) でトリムの状態を確認してみましょう。
7つに分割できていると思います。


⑥各トリムの先頭にチャプタ名を打っていき、チャプターファイルを出力する関数。
WriteChapter(str,"chapter.txt","Avant,OP,A-part,B-part,ED,Next,EC",fps=framerate)
※プレビューするだけで出力されます。 
チャプタ名は最初から順にコンマで区切って書いていくだけです。



まとめて書くとこうなります。
str="Trim(29,5482)++Trim(7282,23553)++Trim(25353,46332)++Trim(49030,50377)"
str=TrimClean(str)
str=TrimSplit(str,1,3000,back=true)
str=TrimSplit(str,TrimCount(str)-1,2700,back=true)
str=TrimSplit(str,TrimCount(str),150,back=true)
WriteChapter(str,"chapter.txt","Avant,OP,A-part,B-part,ED,Next,EC",fps=framerate)

パート編成が毎回同じなら、トリムを入れ替えるだけで自動的にチャプターファイルを作れます。
10秒で約300フレームと覚えておくといろいろ捗ります。
OPやEDなら90秒なので約2700フレームです(本当は29.97fpsなので2697フレームくらいですが)

[12/06/15更新]
OPの後にCMを挟まないアニメの場合は、まずAパートが始まる位置を確認します。
例えば5000フレーム目でAパートが始まる場合、

str="Trim(29,23553)++Trim(25353,46332)++Trim(49030,50377)"
str=TrimClean(str)
str=TrimSplit(str,1,5000,back=false)#1個目のトリムを前から5000フレーム目で分割

これで4カットの状態になったので、あとは前述と同じです。



/*------------BDアニメでチャプターファイルを作る場合------------*/
①各パートが何フレーム目から始まるかメモる
str="trim(24,33950)"
str=TrimClean(str)
f1=888 #OP
f2=3021 #Aパート
f3=17599 #Bパート
f4=31387 #ED
f5=33567 #次回予告

②後のパートから順に切り離していきます。
str=TrimSplit(str,1,f5,back=false)#次回予告を分離
str=TrimSplit(str,1,f4,back=false)#EDを分離
str=TrimSplit(str,1,f3,back=false)#Bパートを分離
str=TrimSplit(str,1,f2,back=false)#Aパートを分離
str=TrimSplit(str,1,f1,back=false)#OPを分離
WriteChapter(str,"chapter.txt","Avant,OP,A-part,B-part,ED,Next",fps=framerate)

TVアニメでも正確にチャプタを打ちたい場合はこっちの方式で。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

putin

Author:putin
ロゴ関係ソース

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

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

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

この人とブロともになる

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