書き出しするとき、YouTube 設定でマーカーをチャプターにしてくれる機能がある。書き出したあとに再生成とかしたいので、どこかから普通にテキストとして書き出して欲しいが、たぶんできない? ので他の方法でなんとかした。
- マーカーのあるタイムラインを選択して右クリック
- [タイムライン] → [書き出し] → [タイムラインマーカーからEDL…] を選択して保存
- 以下のスクリプトを実行する
TC_POS = 0
TARGET_COLOR = "ResolveColorBlue"
chapters = []
tc = nil
while l = gets
l.chomp!
case l
when /(\d\d):(\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d):(\d\d)/
tc = Regexp.last_match.captures.each_slice(4).to_a[TC_POS].map(&:to_i)
when / \|C:(.+?) \|M:(.+?) \|/
color, name, *_ = *Regexp.last_match.captures
if color == TARGET_COLOR
chapters << {
name: name,
color: color,
tc: tc,
}
end
end
end
remove_hh = chapters.map {|c| c[:tc][0] }.uniq.size == 1
chapters.each do |c|
c[:tc].pop # frame
if remove_hh
puts "%02d:%02d %s" % [ *c[:tc][1..], c[:name] ]
else
puts "%02d:%02d:%02d %s" % [ *c[:tc], c[:name] ]
end
end
- トップ
-
tech
-
DaVinci Resolve のマーカーから YouTube のチャプターを書き出した後に生成する