Transloadit lanza Turbo Mode para un encoding de video más rápido
¿Y si te dijera que existe una forma aún más rápida de codificar tus videos? Si ya se está dibujando una sonrisa en tu cara, te prometo no decepcionarte con lo que vas a leer a continuación. Una de las últimas cosas que se nos han ocurrido aquí en Transloadit es el «Turbo Mode». Esta nueva función te ayudará a reducir drásticamente el tiempo de encoding de video. En las próximas secciones, repasaremos varias pruebas y resultados para contarte todo sobre él.

Introducción
Antes de empezar con las pruebas, es importante que te familiarices con nuestro Robot /http/import, que usaremos para importar los archivos de video originales. Hay muchas otras formas de llevar archivos a Transloadit, pero en este tutorial importamos archivos que están disponibles públicamente mediante una URL. El bloque de código de abajo muestra un ejemplo de cómo usarlo.
{
"imported": {
"robot": "/http/import",
"url": "https://file.com/video.mp4"
}
}
Luego pasaremos los archivos importados a nuestros Robots de encoding de video.
Crea credenciales de Template de S3 con el nombre s3_cred para tu
bucket de destino antes de ejecutar los ejemplos. Las salidas de streaming adaptativo también
necesitan la configuración de CORS requerida
para la reproducción en el navegador desde otro origen.
Vamos a usar cinco archivos de video de distintos tamaños para probar nuestro Turbo Mode:
video-XS.mp4: 10 MB de tamaño.video-S.mp4: 34 MB de tamaño.video-M.mp4: 260 MB de tamaño.video-L.mp4: 1,2 GB de tamaño.video-XL.mp4: 6,4 GB de tamaño.
Ahora bien, estas no son pruebas de rendimiento científicas: simplemente ejecuté el encoding tres veces con cada archivo y tomé el tiempo promedio, pero debería dar una idea básica del impacto del Turbo Mode en archivos de video de distintos tamaños.
Prueba de rendimiento 1: encoding normal de 720p WebM vs. Turbo Mode
Echemos un vistazo al Template de abajo:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://example.com/files/video.mp4"
},
"webm_720p_encoded": {
"use": "imported",
"robot": "/video/encode",
"result": true,
"ffmpeg_stack": "v7",
"preset": "webm",
"width": 1280,
"height": 720
},
"exported": {
"use": "webm_720p_encoded",
"robot": "/s3/store",
"credentials": "s3_cred"
}
}
}
En el Template anterior, primero usamos el Robot /http/import para importar
un archivo y luego hacemos que el Robot /video/encode codifique el video con el ajuste
preestablecido webm, antes de exportar los resultados a Amazon S3.
Ahora tendremos que ejecutar estas pruebas de nuevo con cada uno de los cinco archivos de video que seleccionamos en la Introducción. Después de hacerlo, anotaremos las diferencias de tiempo.
Estoy usando el SDK de Node.js para lanzar Assemblies, pero también puedes probarlo en vivo en el sitio web de Transloadit desde tu cuenta, o usar uno de nuestros muchos otros SDK.
A continuación, repetimos el mismo proceso con la misma URL, pero esta vez añadiendo
turbo: true al Step /video/encode, activando
así el Turbo Mode.
Nuestro Template se vería así para el Turbo Mode:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://example.com/files/video-S.mp4"
},
"webm_720p_encoded": {
"use": "imported",
"robot": "/video/encode",
"result": true,
"ffmpeg_stack": "v7",
"preset": "webm",
"width": 1280,
"height": 720,
"turbo": true
},
"exported": {
"use": "webm_720p_encoded",
"robot": "/s3/store",
"credentials": "s3_cred"
}
}
}
Después de ejecutar las pruebas para estos dos escenarios, llegamos a la siguiente tabla de resultados:
| Archivo | Tamaño del archivo | Duración normal | Con Turbo Mode | Tiempo ahorrado |
|---|---|---|---|---|
video-XS.mp4 | 10 MB | 00:01:14 | 00:00:49 | 33,78 % |
video-S.mp4 | 34 MB | 00:01:13 | 00:00:45 | 38,36 % |
video-M.mp4 | 260 MB | 00:01:51 | 00:00:41 | 63,06 % |
video-L.mp4 | 1,2 GB | 00:29:41 | 00:04:01 | 86,47 % |
video-XL.mp4 | 6,4 GB | 02:07:02 | 00:17:42 | 86,09 % |
Como ves, en los Encoding Jobs de video normales estamos arrasando con los tiempos de encoding en todos los casos. 😱🏎
Abajo tienes una gráfica que explica mejor nuestros hallazgos:

Prueba de rendimiento 2: encoding normal de HLS vs. Turbo Mode
Echemos ahora un vistazo al siguiente Template:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://example.com/files/video-S.mp4"
},
"360p_hls_encoded": {
"use": "imported",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"preset": "hls-360p"
},
"hls_bundled": {
"use": {
"steps": ["360p_hls_encoded"],
"bundle_steps": true
},
"robot": "/video/adaptive",
"ffmpeg_stack": "v7",
"playlist_name": "my_playlist.m3u8",
"technique": "hls"
},
"exported": {
"use": "hls_bundled",
"robot": "/s3/store",
"path": "${file.meta.relative_path}/${file.name}",
"credentials": "s3_cred"
}
}
}
En el Template anterior, igual que cuando hacíamos encoding para el formato webm,
usamos el Robot /http/import para importar un archivo y luego hacemos que el
Robot /video/encode lo codifique para preparar los segmentos del Robot /video/adaptive.
Y después exportamos todos los resultados a Amazon S3.
Y de nuevo, tendremos que ejecutar la prueba con los cinco archivos.
A continuación, repetiremos el mismo proceso con todos los videos, pero esta vez uno de nuestros
Steps incluye turbo: true:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://example.com/files/video-S.mp4"
},
"360p_hls_encoded": {
"use": "imported",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"turbo": true,
"preset": "hls-360p"
},
"hls_bundled": {
"use": {
"steps": ["360p_hls_encoded"],
"bundle_steps": true
},
"robot": "/video/adaptive",
"ffmpeg_stack": "v7",
"playlist_name": "my_playlist.m3u8",
"technique": "hls"
},
"exported": {
"use": "hls_bundled",
"robot": "/s3/store",
"path": "${file.meta.relative_path}/${file.name}",
"credentials": "s3_cred"
}
}
}
Ahora obtenemos algunos resultados interesantes en la tabla de resultados:
| Archivo | Tamaño del archivo | Duración normal | Con Turbo Mode | Tiempo ahorrado |
|---|---|---|---|---|
video-XS.mp4 | 10 MB | 00:00:19 | 00:00:25 | -31,58 % |
video-S.mp4 | 34 MB | 00:00:21 | 00:00:28 | -33,33 % |
video-M.mp4 | 260 MB | 00:00:45 | 00:00:40 | 11,11 % |
video-L.mp4 | 1,2 GB | 00:04:43 | 00:04:05 | 13,43 % |
video-XL.mp4 | 6,4 GB | 00:32:12 | 00:23:01 | 28,52 % |
Como puedes ver, en el primer archivo, que resultó ser de 10 MB, hubo un aumento del 31,58 % en el tiempo de encoding. Esto se debe a que el archivo era demasiado pequeño para dividirse en fragmentos y, por lo tanto, se asumieron sin motivo las cargas adicionales que impone el Turbo Mode.
De manera similar, con el segundo archivo, que es de 34 MB, tuvimos un aumento del 33,33 % en el tiempo de encoding. Sin embargo, curiosamente, el archivo de 260 MB obtuvo una mejora de cerca del 11,11 % en el tiempo de encoding. Y, como era de esperar, en el cuarto y el quinto archivo los tiempos de encoding también mejoraron un 13,43 % y un 28,52 % respectivamente.
Por lo tanto, queda claro que cuanto más grande es el archivo, más velocidad ganamos al hacer encoding para HTTP Live Streaming (HLS).
Esta gráfica explica mejor los hallazgos:

Prueba de rendimiento 3: encoding normal de MPEG-DASH vs. Turbo Mode
Para nuestra prueba final, echemos un vistazo a este Template:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://example.com/files/video-S.mp4"
},
"360p_dash_encoded": {
"use": "imported",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"preset": "dash-360p-video"
},
"dash_bundled": {
"use": {
"steps": ["360p_dash_encoded"],
"bundle_steps": true
},
"robot": "/video/adaptive",
"ffmpeg_stack": "v7",
"playlist_name": "my_playlist.mpd",
"technique": "dash"
},
"exported": {
"use": "dash_bundled",
"robot": "/s3/store",
"path": "${file.meta.relative_path}/${file.name}",
"credentials": "s3_cred"
}
}
}
En comparación con el Template anterior para HLS, lo único que tuvimos que hacer fue usar
dash-360p-video como preset en el Step /video/encode y cambiar el technique que usa el
Robot /video/adaptive a dash.
De nuevo, para las pruebas del Turbo Mode simplemente añade turbo: true al Step /video/encode.
Después de ejecutar todas las pruebas, obtenemos los siguientes resultados:
| Archivo | Tamaño del archivo | Duración normal | Con Turbo Mode | Tiempo ahorrado |
|---|---|---|---|---|
video-XS.mp4 | 10 MB | 00:00:15 | 00:00:19 | -26,67 % |
video-S.mp4 | 34 MB | 00:00:16 | 00:00:20 | -25 % |
video-M.mp4 | 260 MB | 00:00:43 | 00:00:40 | 6,98 % |
video-L.mp4 | 1,2 GB | 00:02:59 | 00:02:04 | 30,73 % |
video-XL.mp4 | 6,4 GB | 00:22:29 | 00:12:51 | 42,85 % |
Como era de esperar (porque HLS y DASH son tecnologías muy similares), vemos una pérdida de velocidad con los archivos más pequeños. Solo a partir de la marca de ~200 MB empezamos a ver un aumento de velocidad.
La gráfica de abajo explica mejor estos hallazgos:

Conclusión de las pruebas de rendimiento
Las distintas pruebas anteriores han demostrado cuánto tiempo puedes ahorrar usando el Turbo Mode.
En los Steps /video/encode que no son la entrada de un Step adaptativo,
vemos aumentos de velocidad en todos los casos. Sin embargo, cuando usas tecnologías de streaming
adaptativo, conviene tener en cuenta los tamaños de archivo.
Esto coincide con la forma en que se construyó el Turbo Mode por dentro. Nuestro equipo de API ha desarrollado un algoritmo propio que se integra con FFmpeg y permite distribuir la carga de trabajo de un único trabajo de encoding de video entre muchas máquinas. Orquestar la paralelización lleva algo de tiempo, pero con los archivos más grandes esa sobrecarga bien vale la inversión.
Si no puedes conocer los tamaños de archivo de antemano, puedes usar nuestro Robot /file/filter para dirigir el tráfico a un Step con el Turbo Mode activado, según el tamaño del archivo.
Precios
La creación del Turbo Mode requirió mucha investigación y desarrollo, pero ofrecemos esta mejora a todos los clientes sin cargo (se aplicarán las tarifas habituales). Esperamos que tus usuarios disfruten del aumento de velocidad al subir sus archivos multimedia.
Qué sigue
Actualización (septiembre de 2026): la hoja de ruta de abajo describe nuestros planes de 2018. El parámetro
turboactual aceptatrueofalsey su valor predeterminado esfalse;"auto"no es compatible.
En nuestra próxima iteración, introduciremos un modo turbo: 'auto' que activa automáticamente el Turbo
Mode cuando esperemos un ahorro de tiempo, una vez que hayamos recopilado más datos. Seguirá siendo
de activación voluntaria hasta que acumule medio petabyte de uso en producción; en ese momento, si
tenemos suficiente confianza, haremos que turbo: 'auto' sea el valor predeterminado y permitiremos
desactivarlo mediante turbo: false.
Mientras tanto, invitamos a todos nuestros clientes a probar turbo: true en cargas de trabajo que no
sean críticas y que no requieran resultados impecables. Recibimos con gusto todas las preguntas,
comentarios e inquietudes a través de nuestra página de soporte.
