Saltar a contenido

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 $INPUT especifica el video de origen
  • -vn desactiva la grabación de video
  • -acodec copy copia el flujo de audio sin re-codificar (rápido, sin pérdida)
  • $OUTPUT.aac establece 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 30 posiciona en la marca de los 30 segundos como punto de inicio
  • -t 10 limita la duración de salida a 10 segundos
  • -c copy copia 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 5 posiciona en la marca de los 5 segundos
  • -frames:v 1 extrae exactamente un fotograma de video
  • $OUTPUT.jpg guarda 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:720 redimensiona a 1280×720 (720p)
  • -c:a copy mantiene 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 libx264 codifica video con códec H.264
  • -c:a aac codifica 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.