[Premiere Pro] クリップから YouTube 字幕用タイムコードを出力
Visual Studio Code + ExtendScript Debugger で、Premiere Pro の選択したクリップから字幕用のタイムコード書きだすスクリプト書いてみたよ~。少しは楽になるかな?🤔 pic.twitter.com/RhCIXHRed8
— プロ生ちゃん(暮井 慧)🍍 (@pronama) June 1, 2021
概要
ExtendScript Debugger のインストール
Visual Studio Code で、ExtendScript Debugger をインストール。
launch.json を編集
最初に、デバッグ構成を編集。Debug ビューのギアのアイコンから launch.json を作成できるよ。"program": "${file}"
としておくことで、編集中のスクリプトを実行できるようになるよ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
// Use IntelliSense to learn about possible attributes. | |
// Hover to view descriptions of existing attributes. | |
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | |
"version": "0.2.0", | |
"configurations": [ | |
{ | |
"type": "extendscript-debug", | |
"request": "launch", | |
"name": "Run current script", | |
"program": "${file}", | |
"stopOnEntry": false | |
} | |
] | |
} |
ExtendScript Debugger にも説明があるよ。
スクリプトファイルの作成
.jsx ファイルを作成。コードはこんな感じ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var file = new File("/Users/kei/Creative Cloud Files/scripts/clip.sbv"); // TODO: 実際のパスに変更 | |
file.open( "w" ); | |
var seq = app.project.activeSequence; // 現在のプロジェクトのアクティブなシーケンス | |
for (var i = 0; i < seq.videoTracks.length; ++i) { // ビデオトラックから探す | |
writeClipTimecodes(seq.videoTracks[i]); | |
} | |
for (var i = 0; i < seq.audioTracks.length; ++i) { // オーディオトラックから探す | |
writeClipTimecodes(seq.audioTracks[i]); | |
} | |
file.close(); | |
file = null; | |
function writeClipTimecodes(track) { | |
for (var i = 0; i < track.clips.length; ++i) { // トラック内のクリップ | |
var clip = track.clips[i]; | |
if (!clip.isSelected()) { // 選択されていなければスキップ | |
continue; | |
} | |
var start = clip.start; | |
var end = clip.end; | |
// .sbv 形式のタイムコードと字幕テキスト | |
file.writeln( | |
(Math.floor(start.seconds / 3600)) + ":" + | |
(Math.floor(start.seconds / 60) % 60) + ":" + | |
(start.seconds % 60) + "," + | |
(Math.floor(end.seconds / 3600)) + ":" + | |
(Math.floor(end.seconds / 60) % 60) + ":" + | |
(end.seconds % 60)); | |
file.writeln(clip.name); // 字幕テキストは仮にクリップ名とする | |
file.writeln(); | |
} | |
} |
スクリプトのデバッグ・実行
Visual Studio Code のステータスバーから、Adobe Premiere Pro を選択。Premiere Pro も起動しよう。
デバッグを開始すると、うまく動作すれば、指定した場所に .sbv ファイルができるから、これを使って YouTube 字幕を編集してみてね。
デバッグのヒント
ブレークポイントで、実行の途中で止めると、Premiere Pro のオブジェクトの情報を Debug ビューの variables から見れるから、どんな情報を取得できるか調べるのに役立つよ。
それと、Welcome to the Premiere Pro Scripting Guide! — Premiere Pro Scripting Guide 14.5 documentation のドキュメントを参照すると、どんなオブジェクトがあるか わかるよ。
最新記事 by kei (全て見る)
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04
- プロ生ちゃんクリスマスプログラミングコンテスト2023開催! - 2023/12/04