Was macht JianYing Pro (剪映) Native Draft Export Skill?
Diese Fertigkeit bietet eine automatisierte, hardware-native Brücke, um produktionsreife JianYing Pro macOS (11.4+) Projektentwürfe direkt aus Videodateien, Audiospuren und Untertitel-Skripten zu generieren und bereitzustellen.
Sie löst vollständig die „媒体丢失 / 暂无访问权限“ Sandbox-Aufforderung, indem Projekte unter der Self-Contained Draft Architecture (自包含草稿架构) verpackt werden.
Kurzreferenz
1. CLI-Export und sofortiges Öffnen in einer Zeile
python3 scripts/export_draft.py \
--video "/pfad/zu/meinem_video.mp4" \
--name "临沂森兴科技_GEO三角咬合被动获客" \
--cover "/pfad/zu/cover.jpg" \
--subtitles "/pfad/zu/subtitles.json" \
--open
| Parameter | Kurzform | Erforderlich | Beschreibung |
|---|---|---|---|
--video | -v | Ja | Absoluter Pfad zur Quellvideodatei |
--name | -n | Nein | Projektname in JianYing (standardmäßig der Videodateiname) |
--cover | -c | Nein | Titelbild-Miniaturansicht (.jpg / .png) |
--subtitles | -s | Nein | Untertiteldatei (.json oder .srt) |
--duration | -d | Nein | Videodauer in Sekunden (wird bei Fehlen automatisch ermittelt) |
--open | -o | Nein | Startet/öffnet JianYing Pro sofort und öffnet den Entwurf |
2. Python-API-Nutzung
from pathlib import Path
import sys
# Skriptverzeichnis der Fertigkeit hinzufügen
sys.path.insert(0, "/pfad/zu/jianying-draft-export/scripts")
from draft_builder import JianyingDraft
# 1. Entwurf initialisieren
draft = JianyingDraft(name="我的高维IP短视频", width=1920, height=1080)
# 2. Videoquelle festlegen (Dauer wird automatisch ermittelt)
draft.set_video("/pfad/zu/gerendertem_video.mp4")
# 3. Titelbild anhängen
draft.set_cover("/pfad/zu/cover.jpg")
# 4. Untertitel programmatisch mit zweifarbiger Hervorhebung hinzufügen
draft.add_subtitle(
text="大模型底层有严格的防作弊机制。单一维度的自吹自擂,在算法眼里统统叫‘孤证’。",
start_sec=8.13,
end_sec=16.46,
highlight="孤证" # Das hervorgehobene Wort wird in reinem Gold [1.0, 0.84, 0.0] mit schwarzen Konturen gerendert
)
# Oder aus einer externen JSON / SRT-Datei laden:
# draft.load_subtitles("/pfad/zu/subtitles.json")
# 5. Kompilieren, automatisch in eigenständigen Entwurf kopieren und App starten
draft.save_and_inject(open_app=True)
3. Subtitle-JSON-Format
Der Untertitel-Parser akzeptiert entweder Standard-.srt-Dateien oder eine JSON-Liste:
[
{
"start": 0.0,
"end": 7.68,
"text": "2026年,实体店最残酷的现状,不是隔壁在降价,而是顾客问 AI 附近哪家好时,你的店根本不存在。",
"hl": "根本不存在"
},
{
"start": 8.13,
"end": 16.46,
"text": "大模型底层有严格的防作弊机制。单一维度的自吹自擂,在算法眼里统统叫‘孤证’。孤证不立,直接剔除。",
"hl": "孤证不立"
}
]
hl: Optionaler Teilstring, der mit einem kontrastreichen Gold-Hervorhebungsstil und dicken schwarzen Rändern versehen wird.
4. Architektur: Warum die macOS-Sandbox „Self-Contained Drafts“ benötigt
Die macOS-App-Sandbox beschränkt den Zugriff von VideoFusion-macOS.app auf Dateien in ~/Desktop/, ~/.gemini/ oder beliebigen Verzeichnissen.
❌ Externer Pfad-Modus (Fehlerhaft):
~/Desktop/IP/video.mp4 -----> JianYing Pro [Sandbox EACCES] -----> „媒体丢失/暂无访问权限“-Dialog
✅ Self-Contained Draft-Modus (Diese Fertigkeit):
~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/<Projekt>/video.mp4
└─> JianYing Pro [Voller nativer Lese-/Schreibzugriff] ──> Keine Aufforderung, sofortige Wiedergabe!
Siehe macos_sandbox_bypass.md für eine tiefere technische Analyse.
5. Überprüfung und Fehlerbehebung
Um zu überprüfen, ob ein Entwurf korrekt erstellt und entschlüsselt wurde:
python3 scripts/verify_draft.py "Projektname"
Wenn libjycodec.dylib neu kompiliert werden muss (z. B. auf einer neuen Architektur):
bash scripts/compile_dylib.sh