AvsPmodのスクリプトはっつけ場所
2020年10月27日13:45
チャプター名をx-verseみたいな形にする
avsPmodに付属しているチャプター出力スクリプトの改変版で本来であればChapter 01の様につくチャプター名をa-verseから順につけることが出来ます。
使いどころとしてはOPEDとか音楽番組の歌唱シーンでのAメロBメロとかの改変様ですね。頭にTalkとかIntroductionをつけたい場合は一つ目だけよしなにすれば良いかもしれませんね。
CHAPTER01=00:00:00.000
CHAPTER01NAME=a-verse
CHAPTER02=00:00:19.553
CHAPTER02NAME=b-verse
CHAPTER03=00:00:39.506
CHAPTER03NAME=c-verse
CHAPTER04=00:00:58.926
CHAPTER04NAME=d-verse
CHAPTER05=00:01:31.291
CHAPTER05NAME=e-verse
CHAPTER06=00:02:02.389
CHAPTER06NAME=f-verse
の様に出力が出来ます。
vfr化前提のスクリプトからTimeCode(V1)を取得する
こんな感じの鬼vfrのタイムコード計算手打ちって相当面倒ですが、これを使うことで
# timecode format v1
## GetTimecode v0.1 by tana3n
Assume 119.88011988
0,231,29.97002997
232,329,23.8785604639
330,330,29.97002997
331,332,29.97002997
333,334,29.97002997
335,380,24.1863399758
381,383,29.97002997
384,384,29.97002997
385,394,23.0538692077
395,426,59.9400599401
427,656,29.97002997
657,672,59.9400599401
673,699,29.97002997
700,709,23.0538692077
710,848,29.97002997
849,865,24.2614528329
866,1004,29.97002997
1005,1010,22.4775224775
1011,1026,59.9400599401
1027,1178,29.97002997
1179,1192,59.9400599401
1193,1342,29.97002997
1343,1358,22.8343085486
1359,1359,29.97002997
1360,1471,29.97002997
1472,1483,59.9400599401
1484,1548,29.97002997
1549,1566,23.4548060635
1567,1602,29.97002997
1603,1614,59.9400599401
1615,1738,29.97002997
1739,1750,59.9400599401
1751,1876,29.97002997
1877,1877,29.97002997
1878,1910,23.5478806907
1911,1917,29.97002997
1918,1962,24.0830597973
1963,2056,59.9400599401
2057,2064,23.976023976
2065,2206,29.97002997
2207,2237,23.8223315146
2238,2372,29.97002997
2373,2386,59.9400599401
2387,2667,23.9249386977
2668,2681,59.9400599401
2682,2737,23.976023976
2738,2738,29.97002997
2739,2947,23.9989895162
ぐらいのタイムコードを出力することが出来ます。一番確実なのは1f毎にタイムコードを刻んでいくタイプ(TimeCode v2)なのですがこれ以上に面倒な実装をしないとダメそうなのと、精度的にもぱっと見そこまで問題はなさそうなのでこれでいきます。vfrなチャプター付けの時にはあんまり逃げられなさそうな感じなのでそのうちなんとかしたいですね。
そもそもvfr自体がEvilそれはそう
これに関しては最終Trimが0になってるときに対応出来るようになっている(はず)ですが、Trim()+Trim()で本編全部ぶった切ってるときには通用しない実装になっているので気が向いたら直したいと思います。