Was macht CapCut-Text-Wortgruppen?
Verwenden Sie dieses Skill, um CapCut-Untertitel zu reparieren, deren materials.texts[].words-Arrays pro chinesischem Zeichen aufgespalten sind, sodass Vorlagen wie 逐字显色粗体 绿 Wortfragmente anstatt ganzer Wörter scrollen oder hervorheben.
Dieses Skill bearbeitet undokumentierte JSON-Entwürfe der CapCut-Desktop-App. Schließen Sie immer CapCut, sichern Sie den Entwurf und überprüfen Sie ihn in der CapCut-Vorschau vor dem Export. CapCut-Updates können das Entwurfsschema ändern.
Arbeitsablauf
- Identifizieren Sie das aktive Entwurfsverzeichnis.
- Bevorzugen Sie den
.locked-Entwurf, wenn CapCut ein Projekt geöffnet hat. - Andernfalls verwenden Sie den zuletzt geänderten Entwurf unter
~/Movies/CapCut/User Data/Projects/com.lveditor.draft.
- Bevorzugen Sie den
- Schließen Sie CapCut, bevor Sie Entwurfsdateien schreiben. CapCut kann externe Änderungen überschreiben, während der Editor geöffnet ist.
- Überprüfen Sie die Zieluntertitel:
jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json" - Führen Sie
scripts/regroup-caption-words.jsgegen den Entwurf aus. - Öffnen Sie CapCut erneut und überprüfen Sie mindestens einen frühen, einen mittleren und einen späten Untertitel visuell.
Skript
Verwenden Sie das beigelegte Skript für den eigentlichen Patch:
node scripts/regroup-caption-words.js \
--draft "$DRAFT" \
--fillers "呃,嗯,额" \
--backup
Das Skript patcht alle aktiven Entwurfskopien, die es findet:
- root
draft_info.json - root
template-2.tmp Timelines/*/draft_info.jsonTimelines/*/template-2.tmp
Es aktualisiert sowohl materials.texts[].words als auch extra_info.subtitle_fragment_info_list[].subtitle_cache_info.
Manuelle Gruppenabbildung
Für eine bessere redaktionelle Kontrolle übergeben Sie eine JSON-Abbildung vom exakten sichtbaren Untertiteltext zu den gewünschten Gruppen:
{
"你会担心AI就是呃夺走你的工作吗": ["你会", "担心", "AI", "就是", "夺走", "你的", "工作", "吗"],
"以及他的呃知识库比我们都要多": ["以及", "他的", "知识库", "比", "我们", "都要", "多"]
}
Dann führen Sie aus:
node scripts/regroup-caption-words.js \
--draft "$DRAFT" \
--groups-file groups.json \
--fillers "呃,嗯,额" \
--backup
Die Abbildung kann den ursprünglichen Text vor der Füllwortentfernung verwenden. Jede Gruppenliste muss nach der Füllwortentfernung mit dem bereinigten Untertiteltext konkateniert werden.
Validierung
Überprüfen Sie nach dem Patchen:
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
Validieren Sie auch, dass die zusammengefügten Wortgruppen dem sichtbaren Text entsprechen:
jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
Hinweise
- Bewahren Sie die template-basierte Struktur. Flachen Sie Untertitel nicht zu pro-Wort- oder pro-Zeichen-Clips ab.
- Die Füllwortentfernung ändert den sichtbaren Text, nicht aber die Video-/Audio-Timings.
- Die automatische Segmentierung verwendet
Intl.Segmenter("zh", { granularity: "word" }); überprüfen Sie die Ergebnisse, wenn Untertitel wichtig sind. - Ein Template-Renderer-Patch wie
wordCountPerPageLimit(3)auf2ändert nur, wie viele Metadaten-Einträge pro Seite erscheinen. Er behebt keine Zeichenebenen-Wort-Metadaten. - CapCut kann Untertitel-Metadaten nach manuellen Untertitelbearbeitungen neu generieren oder überschreiben. Führen Sie dieses Skill nach größeren Untertitelbearbeitungen erneut aus.