JianYing Pro (剪映) 原生草稿匯出技能
此技能提供自動化的硬體原生橋接,可直接從影片檔案、音軌和字幕腳本生成並部署生產級別的 JianYing Pro macOS (11.4+) 專案草稿。
它徹底解決了 「媒體丟失 / 暫無訪問權限」 的沙箱提示問題,透過打包專案至自包含草稿架構(自包含草稿架構)。
快速參考
1. 一鍵 CLI 匯出與立即開啟
python3 scripts/export_draft.py \
--video "/path/to/my_video.mp4" \
--name "臨沂森興科技_GEO三角咬合被動獲客" \
--cover "/path/to/cover.jpg" \
--subtitles "/path/to/subtitles.json" \
--open
| 參數 | 簡寫 | 必填 | 說明 |
|---|---|---|---|
--video | -v | 是 | 來源影片檔案的絕對路徑 |
--name | -n | 否 | 剪映中的專案名稱(預設為影片檔案名稱) |
--cover | -c | 否 | 封面縮圖影像(.jpg / .png) |
--subtitles | -s | 否 | 字幕檔案(.json 或 .srt) |
--duration | -d | 否 | 影片時長(秒),省略時自動探測 |
--open | -o | 否 | 立即重啟/啟動剪映專業版並開啟草稿 |
2. Python API 使用方式
from pathlib import Path
import sys
# 新增技能腳本目錄
sys.path.insert(0, "/path/to/jianying-draft-export/scripts")
from draft_builder import JianyingDraft
# 1. 初始化草稿
draft = JianyingDraft(name="我的高維IP短影片", width=1920, height=1080)
# 2. 設定影片來源(自動探測時長)
draft.set_video("/path/to/rendered_video.mp4")
# 3. 附加封面圖片
draft.set_cover("/path/to/cover.jpg")
# 4. 以程式方式添加字幕並使用雙色高亮
draft.add_subtitle(
text="大模型底層有嚴格的防作弊機制。單一維度的自吹自擂,在算法眼裡統統叫『孤證』。",
start_sec=8.13,
end_sec=16.46,
highlight="孤證" # 高亮單詞將以純金 [1.0, 0.84, 0.0] 並帶黑色描邊渲染
)
# 或從外部 JSON / SRT 檔案載入:
# draft.load_subtitles("/path/to/subtitles.json")
# 5. 編譯、自動複製到自包含草稿,並啟動應用程式
draft.save_and_inject(open_app=True)
3. 字幕 JSON 格式
字幕解析器接受標準的 .srt 檔案或 JSON 列表:
[
{
"start": 0.0,
"end": 7.68,
"text": "2026年,實體店最殘酷的現狀,不是隔壁在降價,而是顧客問 AI 附近哪家好時,你的店根本不存在。",
"hl": "根本不存在"
},
{
"start": 8.13,
"end": 16.46,
"text": "大模型底層有嚴格的防作弊機制。單一維度的自吹自擂,在算法眼裡統統叫『孤證』。孤證不立,直接剔除。",
"hl": "孤證不立"
}
]
hl:可選的子字串,將被賦予高對比金色高亮樣式並帶有粗黑邊框。
4. 架構:為何 macOS 沙箱需要「自包含草稿」
macOS 應用沙箱限制 VideoFusion-macOS.app 不得存取 ~/Desktop/、~/.gemini/ 或任意目錄中的檔案。
❌ 外部路徑模式(已損壞):
~/Desktop/IP/video.mp4 -----> JianYing Pro [沙箱 EACCES] -----> 「媒體丟失/暫無訪問權限」彈窗
✅ 自包含草稿模式(此技能):
~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/<Project>/video.mp4
└─> JianYing Pro [完整原生讀寫] ──> 無彈窗,即刻播放!
詳見 macos_sandbox_bypass.md 以獲取更深入的技術分析。
5. 驗證與故障排除
若要檢查草稿是否正確建立並解密:
python3 scripts/verify_draft.py "專案名稱"
如果需要重新編譯 libjycodec.dylib(例如在新架構上):
bash scripts/compile_dylib.sh