Transformación de Videos
Aplica transformaciones a videos sin necesidad de re-subirlos. Todos los comandos de transformación usan la sintaxis de FFmpeg — la herramienta estándar de la industria para procesamiento de video y audio.
Cómo funciona
Pasa comandos de FFmpeg a través del parámetro de consulta format. GFile ejecuta la transformación, almacena en caché el resultado como sub-archivo y devuelve la salida procesada. Usa $INPUT y $OUTPUT.<ext> como marcadores para los archivos de origen y destino.
/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=<comando-ffmpeg>&apiKey=<your-api-key>
Transformaciones disponibles
| Operación | Comando | Descripción |
|---|---|---|
| Extraer audio | -vn -acodec copy |
Eliminar video, mantener audio |
| Recortar/clip | -ss <inicio> -t <duración> |
Cortar un segmento del video |
| Extraer fotograma | -ss <tiempo> -frames:v 1 |
Capturar un fotograma como imagen |
| Re-codificar | -c:v libx264 -c:a aac |
Transcodificar a H.264/AAC |
| Cambiar resolución | -vf scale=1280:720 |
Redimensionar video |
| Eliminar audio | -an |
Eliminar pista de audio |
| Cambiar formato | $OUTPUT.<ext> |
Convertir contenedor (mp4, webm, avi) |
| Ajustar velocidad | -filter:v "setpts=0.5*PTS" |
Acelerar video (2x) |
| Extraer miniatura | -vf "thumbnail" -frames:v 1 |
Auto-seleccionar mejor fotograma |
Ejemplos
Extraer audio de un video
Elimina la pista de video y extrae únicamente el flujo de audio.
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=-i $INPUT -vn -acodec copy $OUTPUT.aac&apiKey=<your-api-key>"
-i $INPUTespecifica el video de origen-vndesactiva la grabación de video-acodec copycopia el flujo de audio sin re-codificar (rápido, sin pérdida)$OUTPUT.aacestablece el formato de salida a audio AAC
Crear un clip de un video
Corta un segmento de tiempo específico sin re-codificar.
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=-i $INPUT -ss 30 -t 10 -c copy $OUTPUT.mp4&apiKey=<your-api-key>"
-ss 30posiciona en la marca de los 30 segundos como punto de inicio-t 10limita la duración de salida a 10 segundos-c copycopia los flujos de audio y video sin re-codificar (rápido)
Extraer un fotograma como imagen
Captura un único fotograma en una marca de tiempo específica.
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=-i $INPUT -ss 5 -frames:v 1 $OUTPUT.jpg&apiKey=<your-api-key>"
-ss 5posiciona en la marca de los 5 segundos-frames:v 1extrae exactamente un fotograma de video$OUTPUT.jpgguarda el fotograma como imagen JPEG
Redimensionar resolución de video
Escala un video a una resolución diferente.
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=-i $INPUT -vf scale=1280:720 -c:a copy $OUTPUT.mp4&apiKey=<your-api-key>"
-vf scale=1280:720redimensiona a 1280×720 (720p)-c:a copymantiene el flujo de audio sin cambios
Convertir formato de video
Transcodifica un video a un contenedor o códec diferente.
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/format?format=-i $INPUT -c:v libx264 -c:a aac $OUTPUT.mp4&apiKey=<your-api-key>"
-c:v libx264codifica video con códec H.264-c:a aaccodifica audio con códec AAC
Obtener metadatos de video
Recupera información técnica detallada (duración, códecs, bitrate):
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/info?apiKey=<your-api-key>"
Retorna JSON de FFprobe con streams, formato, duración, códecs y bitrate.