Cómo usar
tu portal.
Guía de referencia rápida para cada herramienta del Admin Portal de J+MEDIA. Si olvidas un paso o algo no funciona como esperas, este es el primer lugar donde buscar.
Introducción
Qué es este manual y cómo usarlo.
Este manual cubre las herramientas del Admin Portal en el orden en que se usan durante un proyecto típico: desde generar un review para el cliente, pasando por la edición con los comentarios, hasta la entrega final y la factura.
Usa la tabla de contenidos a la izquierda para saltar a cualquier sección. Las instrucciones incluyen capturas conceptuales, atajos de teclado y pasos numerados.
Flujo general
Cómo se conectan las herramientas de principio a fin.
- Subir video y generar review. En
Generador de Reviewcargas el video (o pegas URL de Bunny Stream / Vimeo / YouTube) y escribes el nombre del cliente. El generador sube el archivo, crea un HTML único y te devuelve el link público. - Enviar link al cliente. Le pasas el link por email, WhatsApp o la vía que uses. El cliente no necesita crear cuenta — solo abrir el link.
- Cliente revisa y comenta. El cliente pausa el video donde quiera, dibuja sobre el frame y deja notas escritas. Cada nota queda fijada al timecode exacto. Al terminar oprime
✓ Terminadoy cierra la ventana. - Recibir los comentarios. Las notas se guardan automáticamente en Firebase — las ves al abrir el mismo link o en tiempo real si lo dejas abierto.
- Exportar para edición. Dentro del review, el botón
🎬 Edicióngenera archivos para DaVinci, Final Cut, Premiere y EDL. Los marcadores aparecen en el timeline del editor al TC exacto. - Entregar archivos finales. Usas
Entregas & Archivospara subir los masters al cliente yEmail de Entregapara generar el correo de notificación. - Cobrar.
Facturasgenera el PDF listo para enviar.
Generador de Review
Crear un portal de revisión personalizado para un cliente.
Pasos
- Abre
Generador de Reviewdesde el Admin Portal. - Escribe el nombre del cliente (ej: Empresa XYZ — Corte 2). Esto aparece en el portal del cliente y se usa para generar el nombre del archivo.
- Carga el video: arrastra un archivo local (MP4, MOV, WebM) o pega una URL de Bunny Stream, Vimeo o YouTube.
- Oprime Generar. Si es archivo local, se sube a Bunny Stream y se convierte automáticamente.
- Copia el link público que aparece al terminar. Ese es el link que envías al cliente.
Formatos aceptados
- Video: MP4, MOV, WebM (archivo local o URL embed)
- Imagen: JPG, PNG, GIF, WebP, TIFF (para revisión de piezas gráficas)
- Plataformas soportadas: Bunny Stream, Vimeo, YouTube
Portal de Revisión
Qué ve el cliente y cómo funciona.
Cuando el cliente abre el link, ve el video a la izquierda y un panel de notas a la derecha. No necesita instalar nada.
Funciones clave
- Botón + Nota aquí — pausa el video en el frame actual y abre el formulario de nota.
- Lápiz ✏️ — activa el modo dibujo para marcar sobre el frame. Al guardar la nota se adjunta el sketch.
- Espacio (Space) — play/pause.
- Click en una nota guardada — salta al TC de esa nota y muestra el sketch si existe.
- 📄 PDF — exporta todas las notas en PDF para compartir.
- 🎬 Edición — exporta los marcadores para el editor de video (ver sección siguiente).
- ✓ Terminado — señal visual que la revisión está completa. No envía nada; solo da cierre al cliente.
Exportar para edición
Llevar los comentarios del cliente al editor de video como marcadores.
El botón 🎬 Edición genera archivos listos para importar a DaVinci Resolve, Final Cut Pro, Premiere Pro o cualquier editor compatible con EDL. Los marcadores llegan al timeline en el TC exacto donde el cliente dejó la nota.
Flujo general en el editor
- Importa el archivo al editor. Se crea un timeline vacío con los marcadores colocados al TC correcto.
- Ve a tu secuencia original, selecciona todo y copia.
- Pega en el timeline nuevo al
00:00:00:00. Los marcadores quedan alineados con tu edición.
🎨 DaVinci Resolve — Archivo .py
DaVinci Resolve no lee bien los FCPXML con marcadores sueltos, así que usamos su API de scripting Python. Es más confiable: los marcadores se agregan al timeline activo sin depender de importar un archivo.
Método 1 — Copiar y pegar en el console (recomendado)
- Desde el portal de revisión, oprime
🎬 Edicióny luego DaVinci Resolve. Se descarga un archivonombre-cliente-davinci.py. - Abre DaVinci Resolve y el proyecto donde quieres los marcadores.
- Abre el timeline donde se van a colocar los marcadores (ej: la secuencia del corte actual).
- En el menú superior ve a: Workspace → Console.
- En la barra superior del console verás pestañas. Cambia a
Py3. - Abre el archivo
.pydescargado con cualquier editor de texto (TextEdit, VS Code, etc). Selecciona todo el contenido (⌘A), copia (⌘C). - Regresa al console de DaVinci, haz click dentro, pega (⌘V) y presiona Enter.
- Verás un mensaje:
✅ N marcadores agregados al timeline 'XYZ'. Listo.
Método 2 — Como script del menú (para uso recurrente)
Si vas a usar la misma importación varias veces, guarda el .py en la carpeta de scripts de DaVinci:
- macOS: ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Edit/
- Windows: %APPDATA%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts\Edit\
Luego córrelo desde Workspace → Scripts → Edit → nombre del archivo.
• "No hay timeline activo": abre un timeline antes de correr el script.
• "No se pudo conectar con DaVinci": asegúrate de estar en la pestaña
Py3, no Lua.• Los marcadores caen desfasados: el fps del export no coincide con el del timeline — regenera el
.py con el fps correcto.🍏 Final Cut Pro — Archivo .fcpxml
- Descarga el
.fcpxmldesde el botón Final Cut Pro. - En Final Cut Pro: File → Import → XML…
- Selecciona el archivo descargado. FCP crea un nuevo Event y Project con un timeline vacío que ya tiene los marcadores.
- Abre ese timeline. Pega tu secuencia original encima al
00:00:00:00.
🟣 Adobe Premiere Pro — Archivo .xml
- Descarga el
.xmldesde el botón Premiere Pro. - En Premiere: File → Import… y selecciona el archivo.
- Premiere crea una secuencia vacía con los marcadores como timeline markers nativos.
- Abre la secuencia, pega tu edición original al inicio.
📼 EDL universal — Archivo .edl
El EDL es un formato universal de texto plano que leen casi todos los editores profesionales. Útil como fallback cuando algún otro formato falla.
- Descarga el
.edldesde el botón correspondiente. - En DaVinci: File → Import → Timeline… y selecciona el EDL. Los marcadores se importan como timeline markers amarillos.
- En Avid Media Composer, Vegas Pro, etc: buscar "Import EDL" en el menú. Varía por software.
Entregas & Archivos
Subir los archivos finales al cliente.
La herramienta Entregas & Archivos sirve para dos cosas: entregar los masters finales al cliente y navegar los archivos que el cliente subió durante el proyecto.
Entregar un proyecto
- Abre
Entregas & Archivosdesde el Admin. - Crea una nueva entrega con el nombre del cliente.
- Sube los archivos finales (video, audio, piezas gráficas).
- El sistema genera un link de descarga público que le envías al cliente.
Upload Portal (Cliente)
Portal público para que el cliente te envíe archivos.
Cuando el cliente necesita enviarte archivos grandes (brief, logos, metraje bruto) le pasas el link del Upload Portal. El cliente arrastra los archivos al portal y tú los ves aparecer en Entregas & Archivos.
Email de Entrega
Genera el email HTML de notificación para el cliente.
- Abre
Email de Entrega. - Pega el código/link de la entrega.
- Descarga el HTML y pégalo como firma/contenido en tu cliente de correo (Gmail, Apple Mail).
Facturas
Cotizaciones y facturas para clientes.
La herramienta Facturas genera cotizaciones y facturas con el branding de J+MEDIA. Los datos del cliente se guardan localmente en el navegador, así que puedes regenerar o modificar facturas previas.
- Crear cotización → convertir en factura cuando el cliente apruebe.
- Exportar a PDF listo para enviar.
- Los campos de servicios son editables — agrega líneas según el proyecto.
Sincronizar template (técnico)
Cómo propagar cambios del review al generador.
El archivo jmedia-review.html es el template que el cliente ve. El jmedia-generator.html tiene una copia embebida en base64 de ese template. Cuando editas el review, debes re-sincronizar o el generador seguirá creando la versión vieja.
Re-sincronizar manualmente
Corre este comando de Python desde la carpeta del proyecto:
# Desde /Users/joelcruz/Documents/WEB PROD/J+MEDIA python3 -c " import base64, re, pathlib review = pathlib.Path('jmedia-review.html').read_bytes() b64 = base64.b64encode(review).decode('ascii') gen = pathlib.Path('jmedia-generator.html') txt = gen.read_text(encoding='utf-8') txt = re.sub(r'const TEMPLATE_B64 = \"[^\"]*\";', f'const TEMPLATE_B64 = \"{b64}\";', txt, count=1) gen.write_text(txt, encoding='utf-8') print('Template sincronizado.') "
sync-template.sh con esto adentro. Así solo corres ./sync-template.sh cada vez.Troubleshooting
Problemas comunes y cómo resolverlos.
| Síntoma | Causa probable | Solución |
|---|---|---|
| El cliente dice "no veo las notas que dejé ayer" | Abrió el portal en modo incógnito o desde otro dispositivo | Las notas están en Firebase — se ven al abrir el mismo link desde cualquier dispositivo. Verifica que esté usando el link correcto. |
El .py de DaVinci no hace nada |
Está en la pestaña Lua del console en vez de Py3 | En el console, cambia a Py3 antes de pegar. |
| Marcadores caen desfasados en el editor | El fps del export no coincide con el del proyecto | Regenera el archivo desde el review con el fps correcto. |
| El generador crea portales con la versión vieja del review | Falta re-sincronizar el template | Ver Sincronizar template. |
| Upload del video al generador falla | Archivo demasiado grande o conexión inestable | Sube el video manualmente a Bunny Stream y pega la URL del embed en el generador. |
| El FCPXML no abre en Final Cut | Versión de FCP muy antigua (<10.4) | Actualiza FCP o usa el .edl como fallback. |