Pixerate ビデオエディター は何をしますか?
プロジェクトはプレーンなJSONです:フレームサイズ、fps、背景、アセット(srcを持つビデオ、オーディオ、または画像ファイル。ビデオとオーディオにはdurationも)、上から下にリストされたトラック(ビデオトラックはメディア、タイトル、カラークリップを保持し、オーディオトラックはサウンドを保持し、先にあるビデオトラックは後ろのものを上書きします)、そしてマーカーです。クリップにはタイムライン上のstartとdurationがあります。メディアクリップには、そのアセットへのinポイント、speed、volume、mutedもあります。すべてのクリップはfadeIn、fadeOut、opacity、fit、transform、および同じトラック上のクリップの終わりから始まる場所へのtransitionを持つことができます。
プロジェクトは、ネストされたシーケンス({ id, name, tracks }、0からの独自のタイムラインを持つ)を保持することもあります。複合クリップ(type: "sequence"、sequence、in)は、シーケンスの一部分を単一の画像と単一のサウンドとして再生します。その不透明度、トランスフォーム、ブレンド、グレード、LUT、フェード、トランジション、アニメーションはシーケンスのコンポジットに適用され、volume、muted、フェードはシーケンスのミックスに適用されます。複合クリップはノーマルスピードで再生され(speedやランプはなし)、シーケンス内のクリップは読み取り(list_video_sequences)はできますが、まだ編集はできません。
すべての時間はタイムライン上のミリ秒(またはinの場合はソース内の時間)です。ID:トラックはv1/a1のように見え、クリップはc1、マーカーはm1のように見えます。追加するときに独自のIDを設定しても構いません。get_video_projectから読み取ってください。決してそれらを発明してはいけません。
エラー、名前空間付きツール名、元に戻す規則については、pixerate-agent-toolsを参照してください。
ワークフロースキル
これらのジョブについては、ワークフロースキルも読み込んでください。そこにはメソッド、ステップ間のチェック、落とし穴があり、以下のツールを使用します。
pixerate-talking-head-edit:トランスクリプトによるダイアログのクリーンアップ:フィラー、ポーズ、吃音。pixerate-bgm-alignment:ビートに合わせたカット、音楽のスピーチ下でのダッキング、ラウドネス。pixerate-video-social-cut:垂直リフレーム、最初にフック、プラットフォームの長さ、セーフエリア内のタイトル。pixerate-video-colour-grade:ショットの補正とマッチング、調整クリップ上の単一ルック、LUTと肌。pixerate-video-montage:ビートに合わせたセレクト、ペーシング、トランジション、音楽とエンディング。
作業方法
- 読み取り。
get_video_projectで設定、アセット、トラック、クリップ(終了とソース範囲を含む)、各ネストシーケンスのサマリー、マーカー、問題を取得します。複合クリップがある場合は、list_video_sequencesでそれらが含むものを表示します。プロジェクトが新しい場合は、最初にset_video_settingsでフレームサイズとfpsを設定します。後でそれらを変更すると、フレームベースの制限がシフトします。 - メディアを取り込む。 各ファイルに対して、
kind、src、ソースdurationを指定してadd_video_assetを追加します(durationがないとトリムをチェックできず、check_video_projectがunknown-duration警告を出します)。ビデオにはposterを指定して、レンダリングされたフレームが画像を表示するようにします。 - 構造をマークする。
add_video_markerをビート、セクション、またはレビューノートに追加します。クリップのエッジはUI内のマーカーにスナップし、マーカーはseek_videoのターゲットになります。 - 一度に組み立てる。
edit_videoを使用してラフカットを作成します。add_asset、add_track、そして順にadd_clip操作を行い、後続の操作(トリム、トランジション)がそれらを参照できるように、明示的なクリップIDを指定します。最初にdry_run: trueで実行します。エラーは失敗した操作を特定します。 - リファインする 単一のツールを使用して:
trim_video_clip、split_video_clip、move_video_clip、update_video_clip、set_video_transition、delete_video_clips/close_video_gaps。ショット間のタイミングには、編集者が使用するトリムモードを使用します:roll_video_edit(カットを移動)、slip_video_clip(ショットが表示するものを変更)、slide_video_clip(隣接するショット間でショットを移動)。範囲全体に対しては、split_video_at、lift_video_range、またはextract_video_rangeを使用します。set_video_keyframesで不透明度、ボリューム、または位置をアニメーション化します。 - テキストでカットする メディアに音声がある場合:各音声アセットに
set_video_transcriptを行います(またはget_video_projectのtranscriptWordsを確認します)。get_video_transcriptで編集内容を読み取ります。その後、find_video_fillers、find_video_pauses、またはfind_video_transcript_textを使用して、削除したい範囲を1回の呼び出しでremove_video_rangesに渡します。その後、トランスクリプトを再読み取りします。カットが行われるたびに、トランスクリプトが移動しています。 - チェック。
check_video_projectを実行し、すべてのエラーと警告を修正します。find_video_gapsで意図しない黒または無音を見つけます。 - 見て聴く。
get_video_frameをカットとトランジションで実行し、レイヤーとオーディオゲインを数値として取得します。render_video_frameをtimes指定で実行して、シーケンスのコンタクトシートを取得します。バッチの後、編集ごとではなくレンダリングします。 - 書き出す 要求された場合:
export_video_ffmpeg(レンダリングではなく実行するコマンド)またはexport_video_edl(1トラック)で、他の場所で仕上げます。返されたメモを読み取ります。配信ラウドネスの場合は、ホストにexport_video_loudness_measureを最初に実行させ、それが出力するものをloudness.measuredとして渡します。ドラフトの場合は、1パス(measuredなしのloudness)で十分です。 - ユーザーが表示すべき場合は、最初に計画する。 大きなことや判断を伴うこと(ラフカット、クリーンアップ、音楽に合わせたカット)については、
plan_video_edits(またはダイアログおよび音楽スキルのplan_*ツール)を使用して提案を行い、適用はしません。プロジェクトは変更されず、エディターは長さの変更とカットする範囲を含む計画を表示します。ユーザーが同意したら、apply_video_edit_planで適用します(またはdiscard_video_edit_plan)。list_video_edit_plansは、保留中のものと、プロジェクトがその後変更されたかどうかを表示します。 - エフェクト(ホストがエフェクトプロバイダーを登録した場合のみ。
search_effectsがavailable: falseを返す場合は利用できません):search_effectsをuse指定で実行し、describe_effectでそのコントロールを調べ、apply_effect(クリップへのフィルターとオーバーレイ)、set_video_effect_transition、またはadd_video_effect_clip(ジェネレーターとタイトル)を実行します。update_effectとset_video_effect_keyframesで調整し、get_video_frame(レイヤーリストにeffects)とlist_applied_effectsで確認します。パスに沿ったエフェクト(境界線に沿ったビーム、トレイル、書き込まれたテキスト):search_effectsをaccepts: ["path"]指定で実行し、クリップまたはクリップエフェクトとして追加してから、set_video_effect_pathをフレームpoints、パスデータd、クリップのmaskアウトラインまたはtextで実行します。 - カメラムーブ(Flairなどのカメラムーブプロバイダーがいる場合):クリップがショットです。
list_video_camera_movesをrole指定で実行し、set_clip_camera_moveを実行します。transitionムーブは、クリップの開始からfromからframingに移動します(グライド、ウィップパン、パンチズーム)。holdムーブはクリップの残りの部分をframingで再生します(静止画でのケンバーンズドリフト)。ムーブはクリップのx、y、スケール、回転キーに、プロジェクトのfpsでベイクされ、カットで2つのキーが設定されるため、プレビューとエクスポートはプロバイダーなしで再生されます。get_video_frameで確認します。 - シーケンステンプレート(テンプレートを持つプロバイダーがいる場合):既製のオープニング、リビール、カウントダウンの場合、
list_templatesを実行し、describe_templateでそのスロットを調べ、fill_templateをvalues(exampleValuesから開始)とat指定で実行します。これは、他のトラックの上の新しいトラックに1つの元に戻すステップとして配置されます。各ショットの最下層はベーストラック上にあり、ショットのトランジションを運び、その他のレイヤーは役割に応じてエフェクト、ピクチャー、テキストクリップとして配置されます。開いているスロットはグレーのプレースホルダークリップ(placeholders)として戻ってきます。add_video_assetとadd_video_clipをoverwriteモードで使用して、実際のピクチャーをその上に配置します。カメラムーブは引き継がれません。set_clip_camera_moveで追加します。
ベストプラクティス
- アクションに合わせてカットする。 動き(方向転換、ドアが開く)の最中にカットを配置して、動きの連続性でカットを隠します。
split_video_clipでアクションの部分で分割し、次にアウトゴーイングとインカミングの両側をトリミングします。 - ジャンプカットを避ける。 ほぼ同じフレーミングからの同じ被写体の連続した2つのショットは、グリッチとして読み取られます。アングルまたはサイズを変更するか、より高いビデオトラック上のBロールでカットをカバーするか、または意図的に使用します。
- JカットとLカット。 サウンドをピクチャーより先行または後続させます。メディアのサウンドをオーディオトラック(同じビデオアセットのクリップ)に配置し、ビデオクリップをミュート(
muted: true)してから、roll_video_editでオーディオカットをピクチャーカットより前(J)または後(L)に移動します。これにより、ダイアログとシーンチェンジがスムーズになります。 - トランジションは控えめに。 ストレートカットがデフォルトです。時間の経過やソフトなシーンチェンジには
crossfadeを、セクションブレークにはdip(黒、またはcolorへの)を、wipeはめったに使用しません。短く保ちます(300-1000 ms)。pushとslideは、ドラマよりもグラフィック、モンタージュ、ソーシャル編集に適しています。irisは様式化された時代物またはコミック効果です。dipを除くすべてのタイプにはハンドルが必要です。両方のクリップのカットを超えた未使用メディアの半分の長さです。dipにはハンドルは必要ありません。 - インサートとオーバーライト。
add_video_clipとmove_video_clipはmodeを受け取ります。refuse(デフォルト。エラーは次の空き場所を示します)、overwrite(下にあるものを置き換える。オーバーライト編集のように)、またはinsert(後続の素材を押しやる)です。トリミングと削除にはripple: trueを使用し、lift_video_rangeよりもextract_video_rangeを使用して、ギャップなしで編集後のすべてを同期させます。リップルとインサートは、ロック解除されたすべてのシンクロックトラックを移動するため、ダイアログとそのピクチャーは一緒に保たれます。静止させておくべきミュージックベッドの場合は、update_video_trackでsyncLockedをオフにします。 - 正しいツールでトリミングする。 他の何も移動せずにカットが発生するタイミングを変更するには、
roll_video_edit。ショットが表示する瞬間を変更するには、slip_video_clip。ショットを他の2つの間で前後に移動するには、slide_video_clip。これら3つはすべてタイムラインをギャップレスに保ち、実際に適用されたデルタ(利用可能なメディアにクランプされる)を報告します。 - キーフレームは控えめに。 プッシュイン(ショット全体で
scale1から1.1)、ダイアログ下のダッキング(volume)、またはエッジにないフェードにはset_video_keyframesを使用します。動きにはリニアではなくイーズ(ease-in-out)を使用します。クリップの端にある単純なフェードはfadeIn/fadeOutです。 - ダイアログは最初にテキストでタイトにする。 トランスクリプトがあれば、検索ツールと1回の
remove_video_rangesでフィラーとポーズを削除します。最初にフィラーのリストを確認します(「ええと」が意図的である可能性があります)。単語の周りに150-300 msを残します(keep)。トランスクリプトがない場合は、以下のようにサウンド自体を使用します。 - ダイアログを耳で、数字でタイトにする。 インタビューやナレーションクリップに対して
find_video_silencesを実行すると、タイムライン上のポーズがリストされます。長いものを抽出します(両側に150-300 ms残して、スピーチが途切れて聞こえないようにします。各範囲をextract_video_rangeの前に縮小し、最後のポーズから最初のポーズまで抽出するか、再読み取りします。各抽出が後続を移動するためです)。get_video_audio_levelsを使用して、トリミングまたは分割する前に、ラインがどこで始まるかを見つけます。 - 強調のためのスピードランプ。 重要な瞬間(ジャンプ、リビール)の直前にスローモーションにランプインし、その後にランプアウトします。
set_video_speed_rampを300-600 msのグライド(toSpeed)でハードチェンジではなく使用し、スローモーションは0.25-0.5程度にします。フリーズフレーム(1-2秒)は、タイトルや「それが私だ」という瞬間に適しています。add_video_freeze_frameで追加します。ランプされたサウンドはステップ状になり、フリーズでは無音になるため、ランプされたショットの下には、そのショットのサウンドではなく、音楽やエフェクトを配置します。 - ギャップを閉じる。 意図しないギャップは背景色と無音として再生されます。
find_video_gaps、次にclose_video_gapsまたはリップル削除を実行します。ギャップは黒が必要な場合にのみ残します。 - フレームでカットする。 開始、トリム、分割はフレーム境界(1000 / fps msの倍数。24 fpsで41.667、30 fpsで33.333)に配置します。編集はあなたのために丸めません。
- オーディオレベル。 ダイアログが基準です。音楽はその下に保ちます(スピーチ下でボリューム約0.2-0.4、ライン間でより大きく)、クリップする1を超えるゲインは避けます。クリップごとの
volumeとトラックのvolumeは乗算されます。途中で開始または終了するオーディオクリップにはすべて、クリックを避けるために短いfadeIn/fadeOut(10-50 ms)を与えます。ミュージックベッドは1-3秒かけてフェードします。サウンドフェードはfadeInCurve/fadeOutCurveで形状を設定します。2つのサウンドが重なる場合はequal-power(リニアが中間でディップする一方で、ラウドネスを一定に保つため。トランジションのaudioCurveはクロスフェードとワイプに対してすでにデフォルトでこれになっています)、音楽を自然に無音にフェードアウトするにはexponential、穏やかな開始と終了にはs-curve。リニアがデフォルトです。 - 配信ラウドネス。 クリップのボリュームを押し上げるのではなく、最終ミックスをノーマライズします。Webとストリーミングでは-14 LUFS、ポッドキャストでは-16、放送では-23(EBU R128)または-24(ATSC)、トゥルーピークは-1 dBTP以下にします。2パスでダイナミクスを維持します。1パスはレベルを調整します。
- 2パスでグレーディング:最初に補正、次にルック。 最初に各ショットのバランスを調整してシーンをマッチングします(
update_video_clipgrade:最良のショットに対して露出とホワイトバランスを修正し、次にcopy_video_gradeをそれからシーンの残りにコピーします)。次に、apply_video_grade_presetを控えめなamount(0.3-0.6)で、またはユーザーが持っている.cubeルックをset_video_lut(多くの場合strength0.5-0.8:フィルムエミュレーションとクリエイティブLUTはフル強度で強い)でルックを追加します。LUTはグレードの設定の後に実行されるため、最初に露出とホワイトバランスを補正します。ログ映像用に作られたLUTはフラットなピクチャーを期待しており、通常のビデオでは潰れて見えます。render_video_frameでいくつかの時間を並べて確認します。肌色が基準です。人物に対して強いhueやtintは避けてください。 - ショット間のルックのための調整クリップ。 シーンのすべてのクリップを同じようにグレーディングする代わりに、それらの上のトラックに
add_video_adjustment_clipを配置し、ルック(grade、amountのpreset、または調整クリップにapply_effectするエフェクト)を適用します。再生中に下のすべてを変更するため、トリムや新しいショップはルックを引き継ぎます。スコープallはそれより上のタイトルとトラックを含みます。スコープtrackはそれを1つのトラックに制限します。ルックをかけるためにフェードイン/アウト(fadeIn/fadeOut)し、フレームの一部に制限するためにマスクを与えます。 - スポット変更のためのマスク。
set_video_clip_maskはクリップを形状に切り取ります(顔やビネットにはellipse、ピクチャーインピクチャーにはcorner_radius付きrectangle、スプリットスクリーンや段階的な空にはlinear、ポリゴンまたはカスタムパスにはpath)。反転マスクは内側のものを隠します。add_video_adjustment_clipとマスクは、ショットの一部のみにルックまたはエフェクトを適用するための標準的な方法です。 - LUTと肌色。 人物が写っている場合、全強度のクリエイティブLUTは肌色を不快な色に変える可能性があります。
set_video_lutをskin_protection: trueで使用すると、肌色を元の色相に保持しようとします(顔が含まれているクリップに最適で、テクスチャや背景にまだ影響を与えます)。肌保護はマスクと組み合わせて、肌色以外のすべてにLUTを制限します。render_video_frameで肌色を確認します。 - キーフレームアニメーション。
set_video_keyframesでクリップのプロパティをアニメーション化します:scale(プッシュイン)、positionX/positionY(パン)、rotation(傾き)、opacity(クロスフェード)、volume(オーディオダッキング)。キーフレームはタイムライン時間で指定します。イージング(easeInOut)はリニアよりも自然に見えます。キーフレームアニメーションは、クリップのfadeIn/fadeOutおよびtransitionと組み合わせて、複雑なモーションを作成できます。 - クロップ。 クリップを水平方向に(
cropLeft、cropRight)または垂直方向に(cropTop、cropBottom)クロップします。パーセンテージ(0-100)で指定します。クロップはfit設定と組み合わせて、ソーシャルメディア用の垂直リフレームを作成します。 - ズームと位置(transform)。
transformオブジェクトは、視覚要素を正確に配置するためのx、y、scale、rotationを提供します。位置とスケールのアニメーションにはキーフレームを使用します。fit設定は、クリップがフレームにどのように収まるかを決定します。cover、contain、fill、none。 - プロジェクトの確認。
check_video_projectを頻繁に実行します。修正する必要があるエラー(欠落しているアセット、無効な時間、重複するクリップ)と可能性のある問題(ギャップ、クリップ範囲を超えたトランジションハンドル、未使用のアセット)を特定します。check_video_projectはwarningsからerrorsへの変更を追跡するため、以前に確認したときから何が変わったかを確認できます。 - 編集計画とユーザーの確認。 すべての編集を適用する前に、
plan_video_editsを使用して計画を提案します。これにより、ユーザーはタイムラインにコミットする前に編集を確認できます。計画は非破壊的であり、apply_video_edit_planで適用するか、discard_video_edit_planで破棄できます。編集が元に戻せなくなるのを防ぐために、大きな変更の前にこれを使用します。 - バッチと個々の編集。 いくつかの編集を1つにグループ化するには
edit_videoを使用します。これにより、ラフカットの構築がより効率的になります。微調整には個々のツールを使用します。dry_run: trueを使用すると、プロジェクトにコミットせずにバッチ編集をテストできます。 - エフェクトプロバイダー。 エフェクトプロバイダーが利用可能な場合、
search_effectsを使用して効果を見つけ、describe_effectでそのコントロールを理解し、apply_effectでクリップに適用できます。set_video_effect_keyframesでエフェクトプロパティをアニメーション化できます。list_applied_effectsは特定のクリップに適用されたすべてのエフェクトを表示します。 - パスに沿ったエフェクト。 境界線に沿ったビーム、トレイル、または書き込まれたテキストの効果を実現するために、
search_effectsをaccepts: ["path"]で使用します。次に、set_video_effect_pathを使用して、フレームポイント、パスデータ、テキスト、またはマスクアウトラインでパスを定義します。 - カメラムーブ。 カメラムーブプロバイダーが利用可能な場合、
list_video_camera_movesを使用して利用可能なトランジションとホールドムーブを表示します。set_clip_camera_moveでムーブを適用します。ムーブはベイクされるため、プロバイダーなしで再生およびエクスポートできます。 - テンプレート。 既製のシーケンステンプレートの場合、
list_templatesを使用して利用可能なオプションを表示し、describe_templateでスロットを理解し、fill_templateでテンプレートを入力します。テンプレートは新しいトラックに配置されます。プレースホルダークリップはグレーボックスとして表示され、実際のメディアで置き換える必要があります。 - クリーンアップ。
remove_video_rangesを使用して、指定した時間範囲を削除します。これは、トランスクリプトまたはオーディオレベルに基づいてダイアログからフィラーとポーズを削除するための主要なツールです。範囲を適切に調整して、スピーチが途切れて聞こえないようにします。 - 最終的なエクスポート。
export_video_ffmpegは、システム上で実行できるffmpegコマンドを生成します。export_video_edlは、従来の編集システムで使用するためのCMX 3600 EDLを生成します。エクスポートする前にcheck_video_projectを実行して、export_video_loudness_measureで配信ラウドネスを測定します。 - バージョン管理と元に戻す。 すべての編集は元に戻すことができます。複雑な編集シーケンスの場合は、潜在的な問題を特定して修正するために、各ステップの後に
check_video_projectを使用します。edit_videoは1つの元に戻すステップとしてグループ化された編集を提供するため、複数の編集を簡単に元に戻すことができます。 - タイムラインの操作。
seek_videoを使用して、タイムライン上の特定の時点に移動します。get_video_frameとrender_video_frameを使用して、タイムライン上の特定の時点を視覚的に確認します。find_video_gapsとfind_video_silencesを使用して、問題のある領域を特定します。 - オーディオの操作。 クリップの
volumeは、そのクリップのオーディオレベルを設定します。mutedは、クリップのオーディオをミュートします。fadeInとfadeOutは、クリップの開始と終了にフェードを作成します。クロスフェードはset_video_transitionで作成でき、audioCurveをequal-powerに設定します。 - ビデオの操作。 クリップの
opacityは、クリップの透明度を設定します。fitは、クリップがフレームにどのように収まるかを決定します。transformは、クリップの位置、スケール、回転を設定します。fadeInとfadeOutは、クリップの開始と終了にフェードを作成します。 - トランジション。
set_video_transitionは、2つのクリップ間のトランジションを設定します。利用可能なトランジションタイプ:crossfade、dip、wipe、push、slide、iris。トランジションにはdurationとalignmentがあります。alignmentは、カットを基準にしたトランジションの位置を決定します。 - プロジェクトの設定。
set_video_settingsは、プロジェクトのフレームサイズとfpsを設定します。これらの設定は、プロジェクトの開始時に設定する必要があります。get_video_projectは、現在のプロジェクト設定を取得します。