Analizar video
Procesa el archivo en esta máquina. No subas el video ni su audio, y no los envíes a ningún servicio de transcripción en la nube.
Ejecución
Ejecuta el comando desde la raíz del proyecto abierto. Los resultados van a _video/ dentro de esa carpeta, lo que mantiene todo dentro del entorno del agente y fuera de las carpetas compartidas. Ejecuta el script de entrada de esta habilidad usando su ruta absoluta.
macOS y Linux:
/ruta/absoluta/hacia/analyze-video/scripts/analyze_video "/ruta/absoluta/hacia/video.mp4"
Windows:
powershell -NoProfile -ExecutionPolicy Bypass -File \ruta\absoluta\hacia\analyze-video\scripts\analyze_video.ps1 "C:\ruta\hacia\video.mp4"
Toma la ruta del video de un listado de directorio y pásala exactamente como aparece. Los nombres de grabaciones pueden contener caracteres que parecen espacios normales pero no lo son.
Las grabaciones locales de Zoom están en ~/Documents/Zoom/<fecha hora nombre reunión>/, normalmente como zoom_0.mp4, junto con un archivo solo de audio audio_only.m4a. Usa el archivo .mp4 a menos que el usuario pida explícitamente el archivo de audio. Un archivo solo de audio obtiene una transcripción pero no hojas de contacto.
El comando imprime la ruta de index.md. La carpeta contiene:
index.md: duración, intervalo entre fotogramas y lista de hojastranscript.md: la transcripción con marcas de tiempo, o una nota indicando que no hay audiosheets/sheet_NNN.jpg: hojas de contactoframes/f_NNNN.jpg: fotogramas individuales, ya sellados con su marca de tiempomanifest.json: huella digital de la fuente y la configuración utilizada
Si hay un archivo .vtt junto a la grabación (las descargas de grabaciones en la nube de Zoom incluyen …_Recording.transcript.vtt, y las de Teams <nombre>.vtt), se usa en lugar de Whisper y conserva los nombres de los hablantes. Pasa --whisper para transcribir localmente de todas formas, o --transcript /ruta/hacia/archivo.vtt para indicar un archivo con otro nombre.
Una segunda ejecución con el mismo archivo y la misma configuración muestra already processed y no repite el trabajo. Un intervalo, modelo, idioma, configuración de escena, indicación textual, límite de fotogramas, elección de omitir fotogramas o archivo de transcripción diferente hace que se procese de nuevo.
Si el comando falla, detente y transmite su salida. No tomes fotogramas tú mismo como sustituto. Si la salida indica que se necesita configuración, o que la descarga del modelo Whisper está bloqueada, muéstrale al usuario el comando de configuración que se imprime. Él lo ejecuta una vez en una Terminal. Ejecútalo tú mismo solo si el usuario lo pide y autoriza ejecutarlo fuera del entorno.
Leer el resultado
- Lee
index.md. - Lee
transcript.mdcompleto. - Lee cada imagen de hoja de contacto.
- Abre un archivo dentro de
frames/solo cuando una celda sea ilegible.
Si index.md indica que se omitieron fotogramas, lee transcript.md y detente. No hay hojas de contacto.
Configurar
Cuando el usuario escriba /configure, o pida configurar o cambiar los ajustes de esta habilidad, abre la página de configuración. Haz esto antes de editar cualquier archivo de configuración tú mismo.
- Ejecuta el script
scripts/configurede esta habilidad usando su ruta absoluta. En Windows, ejecutapython scripts/configure.pycon el Python de esa habilidad. - Imprime una línea:
configure: http://127.0.0.1:<puerto>/. Abre esa URL en el navegador de Cursor para que el usuario pueda ver la página. - Deja el servidor en ejecución. La página escribe
config.local.jsonen la carpeta de la habilidad. El siguiente video usará esos ajustes.
Cuando el usuario quiere ajustes diferentes
Las banderas anulan config.json para esa ejecución. Por defecto se toma un fotograma cada 30 segundos y en cada cambio de escena (nueva diapositiva o ventana), y una grabación larga tiene un límite de 96 fotogramas (8 hojas). Para más detalle en una grabación corta:
/ruta/absoluta/hacia/analyze-video/scripts/analyze_video "/ruta/absoluta/hacia/video.mp4" --interval 5 --max-frames 0
En Windows, pasa las mismas banderas a scripts/analyze_video.ps1.
Pasa --prompt "términos ya conocidos para este video" solo cuando esos nombres ya estén en la tarea. No inventes una indicación textual. --max-frames 0 elimina el límite. Pasa --skip-frames solo cuando el usuario pida una transcripción o resumen sin solicitar ver o revisar las imágenes.
Otras banderas: --language en, --model medium, --no-scene, --scene-threshold 0.2, --min-scene-gap 1, --sheet-cols, --sheet-rows, --frame-width, --keep-audio, --output-root beside (junto al video), --config /ruta/hacia/config.json.
Los valores predeterminados y la lista completa de claves están en config.json y README.md dentro de la carpeta de esta habilidad. Un modelo solo inglés (medium.en y los demás nombres *.en) no puede usar "language": "auto".