¿Qué hace jianying-editor?
剪映 (JianYing) API de alto nivel (JyWrapper) para la automatización de edición de video con IA. Proporciona interfaces Python listas para usar, que incluyen grabación de pantalla, importación de materiales, generación de subtítulos, síntesis de efectos web y exportación de proyectos. Compatible con MacOS (Apple Silicon/Intel) y Windows, y optimizado para la arquitectura v5.9+ (draft_info.json), con reparación automática de proyectos, voz y subtítulos inteligentes, y zoom de grabación de pantalla.
Características principales
- Grabación de pantalla con zoom: Captura la pantalla con capacidades de zoom programático, ideal para demostraciones y tutoriales.
- Importación de materiales: Admite la importación de imágenes, videos, audio y otros archivos multimedia.
- Generación de subtítulos: Genera automáticamente subtítulos sincronizados con el audio utilizando síntesis de voz (TTS).
- Efectos web: Compone animaciones, transiciones y elementos interactivos basados en tecnologías web.
- Exportación de proyectos: Exporta el proyecto final a formatos de video estándar (MP4, etc.).
- Reparación automática: Detecta y corrige automáticamente errores en el archivo de proyecto (
draft_info.json).
Requisitos del sistema
- Sistemas operativos: Windows 10/11 (64 bits) o MacOS 12+.
- 剪映 versión: v5.9 o superior (con soporte para el archivo
draft_info.json). - Python: 3.8 o superior.
- Dependencias: Consulta el archivo
requirements.txtpara la lista completa de paquetes Python.
Instalación
-
Clona el repositorio:
git clone https://github.com/luoluoluo22/jianying-editor.git cd jianying-editor -
Instala las dependencias:
pip install -r requirements.txt -
(Opcional) Configura variables de entorno para la grabación de pantalla y TTS:
export SCREEN_RECORD_OUTPUT="./output/video.mp4" # En Mac/Linux set SCREEN_RECORD_OUTPUT=".\output\video.mp4" # En Windows
Uso básico
Inicializar el wrapper
from jy_wrapper import JianYingWrapper
# Especifica la ruta de instalación de 剪映 y el directorio de trabajo
wrapper = JianYingWrapper(
jianying_path="/Applications/JianYing.app", # En MacOS
work_dir="./projects"
)
Grabar pantalla
wrapper.screen_record(
duration=30, # Duración en segundos
area=(0, 0, 1920, 1080), # Área de grabación (x, y, ancho, alto)
zoom=1.5, # Factor de zoom (por ejemplo, 1.5x)
output_path="./demo.mp4"
)
Importar material y generar subtítulos
# Añadir un video como material
material_id = wrapper.add_material(
file_path="./demo.mp4",
type="video"
)
# Generar subtítulos automáticamente a partir del audio
wrapper.generate_subtitles(
material_id=material_id,
language="zh", # Código de idioma para TTS
voice_profile="female-1" # Perfil de voz
)
Aplicar efectos web
# Cargar un efecto web desde un archivo HTML/JS
wrapper.apply_web_effect(
material_id=material_id,
effect_file="./effects/transition.html",
duration=2.0 # Duración del efecto en segundos
)
Exportar el proyecto
wrapper.export_project(
output_path="./final_video.mp4",
resolution="1920x1080",
frame_rate=30,
codec="h264"
)
Referencia de la API
Para una documentación detallada de todas las clases y métodos, consulta la documentación oficial.
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.