Habilidad de Exportación de Borradores Nativos para JianYing Pro (剪映)
Esta habilidad proporciona un puente automatizado y nativo para generar e implementar borradores de proyectos de JianYing Pro macOS (11.4+) de grado profesional directamente desde archivos de video, pistas de audio y guiones de subtítulos.
Resuelve por completo el mensaje de "媒体丢失 / 暂无访问权限" (medios perdidos/sin acceso) de la sandbox al empaquetar proyectos bajo la Arquitectura de Borrador Autocontenido (自包含草稿架构).
Referencia Rápida
1. Exportación CLI de Una Línea y Apertura Instantánea
python3 scripts/export_draft.py \
--video "/ruta/a/mi_video.mp4" \
--name "临沂森兴科技_GEO三角咬合被动获客" \
--cover "/ruta/a/portada.jpg" \
--subtitles "/ruta/a/subtítulos.json" \
--open
| Parámetro | Corto | Obligatorio | Descripción |
|---|---|---|---|
--video | -v | Sí | Ruta absoluta al archivo de video de origen |
--name | -n | No | Nombre del proyecto en JianYing (por defecto, el nombre del archivo de video) |
--cover | -c | No | Imagen de miniatura de portada (.jpg / .png) |
--subtitles | -s | No | Archivo de subtítulos (.json o .srt) |
--duration | -d | No | Duración del video en segundos (se detecta automáticamente si se omite) |
--open | -o | No | Reiniciar/abrir inmediatamente JianYing Pro y abrir el borrador |
2. Uso de la API de Python
from pathlib import Path
import sys
# Agregar el directorio de scripts de la habilidad
sys.path.insert(0, "/ruta/a/jianying-draft-export/scripts")
from draft_builder import JianyingDraft
# 1. Inicializar borrador
draft = JianyingDraft(name="Mi video corto IP de alta dimensión", width=1920, height=1080)
# 2. Establecer video de origen (detecta duración automáticamente)
draft.set_video("/ruta/a/video_rendered.mp4")
# 3. Adjuntar imagen de portada
draft.set_cover("/ruta/a/portada.jpg")
# 4. Agregar subtítulos programáticamente con resaltado de color dual
draft.add_subtitle(
text="El modelo grande subyacente tiene un mecanismo estricto contra trampas. El autoelogio unidimensional es llamado 'evidencia aislada' por el algoritmo",
start_sec=8.13,
end_sec=16.46,
highlight="evidencia aislada" # La palabra resaltada se renderizará en oro puro [1.0, 0.84, 0.0] con contornos negros
)
# O cargar desde un archivo JSON / SRT externo:
# draft.load_subtitles("/ruta/a/subtítulos.json")
# 5. Compilar, copiar automáticamente al borrador autocontenido y abrir la aplicación
draft.save_and_inject(open_app=True)
3. Formato JSON de Subtítulos
El analizador de subtítulos acepta archivos .srt estándar o una lista JSON:
[
{
"start": 0.0,
"end": 7.68,
"text": "En 2026, la situación más cruel para las tiendas físicas no es que la competencia baje los precios, sino que cuando un cliente le pregunta a la IA qué tienda cercana es buena, tu tienda simplemente no existe.",
"hl": "no existe"
},
{
"start": 8.13,
"end": 16.46,
"text": "El modelo grande subyacente tiene un mecanismo estricto contra trampas. El autoelogio unidimensional es llamado 'evidencia aislada' por el algoritmo. La evidencia aislada no se sostiene, se elimina directamente.",
"hl": "evidencia aislada"
}
]
hl: Subcadena opcional que recibirá un estilo de resaltado dorado de alto contraste con bordes negros gruesos.
4. Arquitectura: Por Qué macOS Sandbox Necesita "Borradores Autocontenidos"
La sandbox de macOS App Sandbox restringe a VideoFusion-macOS.app para que no pueda acceder a archivos en ~/Desktop/, ~/.gemini/ o directorios arbitrarios.
❌ Modo de Ruta Externa (Roto):
~/Desktop/IP/video.mp4 -----> JianYing Pro [Sandbox EACCES] -----> Ventana "媒体丢失/暂无访问权限" (medios perdidos/sin acceso)
✅ Modo de Borrador Autocontenido (Esta Habilidad):
~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/<Project>/video.mp4
└─> JianYing Pro [Lectura/Escritura Nativa Completa] ──> Sin Mensajes, Reproducción Instantánea
Consulta macos_sandbox_bypass.md para un análisis técnico más profundo.
5. Verificación y Solución de Problemas
Para inspeccionar si un borrador se creó y descifró correctamente:
python3 scripts/verify_draft.py "Nombre del Proyecto"
Si libjycodec.dylib necesita recompilación (por ejemplo, en una nueva arquitectura):
bash scripts/compile_dylib.sh