CapCut キャプション単語グループ化 は何をしますか?
このスキルを使用して、CapCut キャプションの materials.texts[].words 配列が中国語の文字ごとに分割され、逐字显色粗体 绿 などのテンプレートが単語ではなく断片をスクロール/ハイライト表示する問題を修正します。
このスキルは、文書化されていない CapCut デスクトップ版ドラフト JSON を編集します。常に CapCut を閉じ、ドラフトをバックアップし、エクスポート前に CapCut プレビューで確認してください。CapCut のアップデートによりドラフトスキーマが変更される可能性があります。
ワークフロー
- アクティブなドラフトディレクトリを特定します。
- CapCut でプロジェクトが開いている場合は、
.lockedドラフトを優先します。 - それ以外の場合は、
~/Movies/CapCut/User Data/Projects/com.lveditor.draft以下で最新に変更されたドラフトを使用します。
- CapCut でプロジェクトが開いている場合は、
- ドラフトファイルを書き込む前に CapCut を閉じます。エディタが開いている間、CapCut は外部編集を上書きする可能性があります。
- 対象のキャプションを検査します:
jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json" - ドラフトに対して
scripts/regroup-caption-words.jsを実行します。 - CapCut を再度開き、少なくとも最初、中間、最後のキャプションを視覚的に確認します。
スクリプト
実際のパッチにはバンドルされたスクリプトを使用します:
node scripts/regroup-caption-words.js \
--draft "$DRAFT" \
--fillers "呃,嗯,额" \
--backup
スクリプトは見つかったすべてのアクティブなドラフトコピーにパッチを適用します:
- ルート
draft_info.json - ルート
template-2.tmp Timelines/*/draft_info.jsonTimelines/*/template-2.tmp
materials.texts[].words と extra_info.subtitle_fragment_info_list[].subtitle_cache_info の両方を更新します。
手動グループマップ
より編集制御を高めるために、表示されるキャプションのテキストから目的のグループへの JSON マップを渡すことができます:
{
"你会担心AI就是呃夺走你的工作吗": ["你会", "担心", "AI", "就是", "夺走", "你的", "工作", "吗"],
"以及他的呃知识库比我们都要多": ["以及", "他的", "知识库", "比", "我们", "都要", "多"]
}
その後、実行します:
node scripts/regroup-caption-words.js \
--draft "$DRAFT" \
--groups-file groups.json \
--fillers "呃,嗯,额" \
--backup
マップはフィラー削除前の元のテキストを使用できます。各グループリストは、フィラー削除後のクリーンなキャプションテキストと連結される必要があります。
バリデーション
パッチ適用後、確認します:
jq empty "$DRAFT/draft_info.json" "$DRAFT/template-2.tmp" "$DRAFT"/Timelines/*/draft_info.json "$DRAFT"/Timelines/*/template-2.tmp
rg '呃|嗯|额' "$DRAFT/draft_info.json" "$DRAFT/template-2.tmp" "$DRAFT"/Timelines/*/draft_info.json "$DRAFT"/Timelines/*/template-2.tmp
また、結合された単語グループが表示テキストと等しいことを確認します:
jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
注意事項
- テンプレートベースの構造を保持します。キャプションを単語単位や文字単位のクリップに平坦化しないでください。
- フィラー削除は表示テキストを変更しますが、ビデオ/オーディオのタイミングは変更しません。
- 自動セグメンテーションは
Intl.Segmenter("zh", { granularity: "word" })を使用します。字幕が重要な場合は結果を確認してください。 wordCountPerPageLimit(3)から2へのテンプレートレンダラーパッチは、1ページあたりのメタデータエントリ数を変更するだけです。文字レベルの単語メタデータは修正しません。- キャプションを手動で編集した後、CapCut はキャプションメタデータを再生成または書き換える場合があります。大きな字幕編集の後は、このスキルを再実行してください。