リンクをクリップボードにコピー
コピー完了
大量のシーケンスマーカーをそのシーケンス内の選択したクリップ上のへクリップマーカーとして移す方法は無いでしょうか?
スクリプト関連は、アプリケーション自動化総合コミュニティフォーラム (Japan) に質問されると、回答を得やすいので利用して下さい。
当方もスクリプト初心者ですが、参考になりそうな情報を記しておきます。
日本語の書籍:
・ExtendScript Toolkit(ESTK)基本編
・Adobe JavaScriptリファレンス
・Premiere Pro & Media Encoder自動化サンプル集
その他、初心者向けのJavaScript本。
自動化サンプル集には、簡単なESTKの使用方法も掲載されています。また、ESTK基本編にはAdobe製品で使われそうなJavaScriptの説明も記載されています。
ネットの情報:
Javascript API for premiere pro
(マーカー関連)
新バージョンによっては追加されている事があります。
サンプルコード:
Samples/Premiere.jsx at d53d277874b951eb57d46ffee6a658748663ebf5 · Adobe-CEP/Samples · GitHub
...リンクをクリップボードにコピー
コピー完了
こんにちは、賢次善6428388さん
一括変換ではありませんが、キーボードショートカットキーを利用する方法はいかがでしょうか。意外と速く出来ますよ。
①「Shift」+「M」を押すと、次のマーカー(ここではシーケンスマーカー)に再生ヘッドが移動します。
②次に「M」を押すと、再生ヘッドの位置にクリップマーカーが打たれます。
③最後に「プログラムモニター」内でシーケンスマーカーを一括消去します。
尚、前のマーカーに移動する場合は「Ctrl(Command)」+「Alt」+「M」です。
リンクをクリップボードにコピー
コピー完了
回答ありがとうございます。
私も
「Shift」+「M」、「M」、「Shift」+「M」、「M」、、、、、
とすべてのマーカーに対してやっていく方法で行っていたのですが
舞台で演奏した音楽を編集していて楽譜の小節ごとにマーカーを付けてあるので
5分ほどの一曲でもマーカーの数が半端なく多くて一括で複数選択して変換できればと思ったのです。
Beat Edit というプラグイン内で作成したマーカーは
シーケンスマーカーとしてタイムラインに一括して反映したり全部まとめて消したり
クリップマーカとしてタイムライン内のクリップに一括して反映したり全部まとめて消したり
が出来るので自分で作成したマーカーにも同じような操作ができると便利かなと思って
お尋ねしました。
リンクをクリップボードにコピー
コピー完了
こんにちは
>私も「Shift」+「M」、「M」、「Shift」+「M」、「M」、、、、、方法で行っていたのですが
ショートカットキーで行っていたのですか。失礼しました。
シーケンスマーカーをクリップマーカーに移す方法を調べてみましたが、残念ながら見つかりませんでした。
リンクをクリップボードにコピー
コピー完了
下記スレッドによれば、マーカーはテキスト形式で書き出す機能はあるのですが、読み込んでクリップに反映させることは、標準の機能だけではできないようです。
なお、スクリプトを作れば実現できるようです。
<追記>
PremiereのシーケンスをAfter Effectsに読み込むとマーカーも共有できるので、After Effects用のスクリプトを使って、クリップにマーカーを作成してみました。
(ただし、希望する結果になっていないかもしれません)
今回は、XML形式で書き出して、After Effectsに読み込んでいます。
スクリプトは、下記サイトでまとめてダウンロードできます。
・rd: Copy Markers(マーカーの有るレイヤーと無いレイヤーを選択してから、実行するとコピーされます)
redefinery.com: rd: Copy Markers
・rd: Copy Comp Markers(コンポジション[シーケンス]のマーカーをレイヤーにコピーします)
redefinery.com: rd: Copy Comp Markers
マーカー作成後、After EffectsからPremiere形式で保存して、Premiereに読み込むとクリップにマーカーが追加されています。
たまたま、XMLで保存したデータを使ってみましたが、通常のPremiere形式のファイルでもできると思います。
After Effects関係で不明な点があれば、質問して下さい。
リンクをクリップボードにコピー
コピー完了
丁寧に教えて頂いてありがとうございます。
やはり標準機能だけでは無理なのですね。
前に書いたプラグインでも一括してマーカーの処理を行えているので
スプリクトを書けば可能なのだろうなと思っていました。
After Effectsは持っていないしPremierePro単体で実現したいので
Premiereで実行できるスプリクトの作成について勉強してみます。
Adobe Premiere: MV作成のための自動マーカー打ち込みスクリプト
これなどを応用しても出来そうな気がしています。
リンクをクリップボードにコピー
コピー完了
スクリプト関連は、アプリケーション自動化総合コミュニティフォーラム (Japan) に質問されると、回答を得やすいので利用して下さい。
当方もスクリプト初心者ですが、参考になりそうな情報を記しておきます。
日本語の書籍:
・ExtendScript Toolkit(ESTK)基本編
・Adobe JavaScriptリファレンス
・Premiere Pro & Media Encoder自動化サンプル集
その他、初心者向けのJavaScript本。
自動化サンプル集には、簡単なESTKの使用方法も掲載されています。また、ESTK基本編にはAdobe製品で使われそうなJavaScriptの説明も記載されています。
ネットの情報:
Javascript API for premiere pro
(マーカー関連)
新バージョンによっては追加されている事があります。
サンプルコード:
Samples/Premiere.jsx at d53d277874b951eb57d46ffee6a658748663ebf5 · Adobe-CEP/Samples · GitHub
上記は、Premiere用のエクステンションPProPanel (SDK Sample)のサンプルコードです。
https://www.adobeexchange.com/creativecloud.details.12393.html
コピーしてESTKに貼り付けて実行できます。
方法は、PremiereとESTKを起動させてサンプルの674 ~ 710行をコピーしてESTKに貼り付けます。
不要な記述があるので、1行目を全文削除、最後の行 「}.」も削除して、実行開始ボタンを押すと、アクティブなクリップにマーカーが追加されます。
new_marker.endの数値(秒)に追加されます。
markers.createMarker の数値は、マーカーの番号かな?
<訂正>
markers.createMarker の数値(秒)に新しいマーカーを追加。
new_marker.endの数値(秒)は、マーカーの終わりの時間のため、markers.createMarker以上の数値を入力。
お試しください。
リンクをクリップボードにコピー
コピー完了
ありがとうございます。
試してみます。
リンクをクリップボードにコピー
コピー完了
これは、クリップと時間を指定してマーカーを1個追加するスクリプトに、Premiereの機能で書き出したマーカーデータから必要なデータを手作業で抽出して貼り付け、複数のマーカーをまとめて追加するワークフローです。
入力するデータの作成方法は後述します。
*スクリプトの使用によるトラブルは、責任を負えませんのでご容赦ください。
1. Adobe ExtendScript Toolkit (ESTK)とPremiere Proを起動。
2. 下記のスクリプトをコピーしてESTKに貼り付ける。
3. ESTKのメニューからアプリケーションを選択する。
4. マーカーのデータを、1〜2行目に入力する。(サンプルデータを削除してから入力する)
5. フレームレートを3行目に入力。
6. 13行目にマーカーを追加したいクリップ(または、シーケンス)の番号を入力。
プロジェクトパネル内の最下段が [0] 、上に上がるごとに[1],[2],[3]… の番号になります。
クリップ以外に、シーケンスも選択できますが静止画にはマーカーが追加できないようです。(サンプルコードを使っているため詳しい動作は把握できていません)
7. 29・30行目は、ネームとコメントの入力欄。
変更しない場合は、記述されているメッセージが自動で入力されます。
8. ESTKのスクリプト実行ボタンを押す。
右上にあるJavaScriptコンソールに数字が出れば終了。(実行ボタンの色は暗くなる)
9. エラーまたは警告が出る場合は、停止ボタンを押す。
注意事項:
タイムコードを秒数に変換しているので、稀に1~2フレームずれる可能性はあります。
フレームレートも正しく入力してください。
インとアウトのタイムの個数は、必ず同じ総数になるよう入力してください。
総数があっていない場合は、アラートが表示されます。
アウトタイムが必要ない場合、インタイムと同じデータを入力してください。
スクリプト:
var inTime = new Array('00:00:01:05','00:00:02:10','00:00:04:02','00:00:06:14') ; // * ここに イン データ入力
var outTime = new Array('00:00:01:05','00:00:03:00','00:00:04:12','00:00:06:14') ; // * ここに アウトデータ入力
var fps = 29.97 ; // * ここに フレームレート入力
if (inTime.length == outTime.length){
for (var i=0 ; i < inTime.length ; i++){
var mkIn= (Number(inTime.slice(0,2))* 3600 + Number(inTime.slice(3,5)) *60 + Number(inTime.slice(6,8))) + Number(inTime.slice(9,11))/ fps ;
var mkOut= (Number(outTime.slice(0,2))* 3600 + Number(outTime.slice(3,5)) *60 + Number(outTime.slice(6,8))) + Number(outTime.slice(9,11))/ fps ;
if (app.project.rootItem.children.numItems > 0){ // 以下はサンプルコードを貼り付けています
var projectItem = app.project.rootItem.children[0]; // assumes first item is footage. * プロジェクトパネル内の番号を入力. 最下段は[0]~[1][2]
if (projectItem) {
if (projectItem.type == ProjectItemType.CLIP ||
projectItem.type == ProjectItemType.FILE) {
markers = projectItem.getMarkers();
if (markers) {
var num_markers = markers.numMarkers;
var new_marker = markers.createMarker(mkIn);
var guid = new_marker.guid; // new in 11.1
new_marker.name = 'Marker created by PProPanel.'; // * マーカーネーム 変更して下さい
new_marker.comments = 'Here are some comments, inserted by PProPanel.'; // * コメント 変更して下さい
new_marker.end = mkOut ;
//default marker type == comment. To change marker type, call one of these:
// new_marker.setTypeAsChapter();
// new_marker.setTypeAsWebLink();
// new_marker.setTypeAsSegmentation();
// new_marker.setTypeAsComment();
}
} else {
alert("Can only add markers to footage items.");
}
} else {
alert("Could not find first projectItem.");
}
} else {
alert("Project is empty.");
}
}
} else{
alert("IN・OUTの総数が不一致")
}
データ作成のワークフロー:
準備するアプリ・・・表計算ソフト(Excel・Googleスプレッドシートなど)
(訂正)
ESTKにも「すべて置換」機能があるので別途テキストエディターを用意しなくてもできます。
テキストの置換えができるテキストエディッター。
エディッターがない場合は、テキストエディッター「Brackets - A modern, open source code editor that understands web design. 」を使用して下さい。
1. PremierePro <書き出し>→ <マーカー> を使ってシーケンスマーカーをCSVカンマ区切りで出力する。
2. 表計算ソフトで開く。
3. 「イン」「アウト」以外は不要なため、削除する。
4. 縦(列)に並んでいるデータを横(行)に並ぶように方向を変える。
テキストを全て選択してコピー → 空いているセルを選択してから「形式を選択してペースト」で 行/列の入れ替えを選択してペースト。
5. 不要なデータは削除して「別名で保存」する。
保存形式は、CSV (コンマ区切り)。
6. エディッターでファイルを開く。
7. 下図のように時間の間に コンマ(,) が入っているのを確認して、 検索・置換え機能を使用する。
コンマ(,)を検索して、一重引用符(Shift + 7)とコンマ ( ',' ) に置き換える。
8. ただし、両端にコンマがないので引用符は付かないため、手作業で両端に引用符( ' ) を追加する。
9. インのデータ・アウトのデータをそれぞれコピーして、スクリプトの1〜2行目のサンプルデータを削除してから貼り付ける。
Bracketsでスクリプトを開いて貼り付け または、ESTK上のスクリプトに貼り付けても良い。
Brackets上で貼り付けたら保存して、ESTKで開く。(拡張子は jsx )
JavaScriptでCSVファイルを読み込む方法もあるのですが難しいです・・・
リンクをクリップボードにコピー
コピー完了
Premiereの機能で書き出したマーカーデータから
データを並べる作業はExcelのVBAで処理して
var inTime = new Array() ;
var outTime = new Array() ;
の形式に変換してからESTK上のスクリプトに
コピペして使わせて頂こうと思います。
大変実用的な見本スプリクトをご提供くださってありがとうございます。