Cómo comprimir vídeos para enviarlos por correo y Discord
Consigue que un vídeo quepa en el límite de los adjuntos desde tu navegador, y ten claro desde el principio a qué renuncias para lograrlo.
El límite es menor que la cifra que te dieron
Los servidores de correo no envían tu archivo como bytes en bruto. Al salir, el adjunto se codifica en base64, y base64 necesita cuatro caracteres para transportar tres bytes, así que el mensaje que viaja por la red acaba siendo alrededor de un tercio más grande que el archivo que tienes en el disco. El conocido tope de 25 MB de Gmail se aplica a ese mensaje codificado, no al archivo que elegiste en el explorador de archivos. En la práctica, un vídeo de unos 18 MB es lo más grande que pasa con garantías, y las cabeceras y el cuerpo del mensaje se comen un poco más encima.
Otros servicios ponen sus propias cifras, y las cambian. El límite de subida de las cuentas gratuitas de Discord ha cambiado más de una vez. Outlook, iCloud Mail y los servidores Exchange de empresa fijan cada uno el suyo, y un departamento de informática puede ponerlo todavía más bajo. Fíate de la cifra que te muestra la aplicación cuando rechaza tu archivo, no de la que recuerdas de hace unos años.
Solo hay tres palancas
Cualquier compresor de vídeo, en el navegador o fuera de él, trabaja con las mismas tres cosas: cuántos píxeles tiene cada fotograma, cuántos bits por segundo puede gastar el codificador y cuánto dura el clip. La tercera suele ser la más rentable y la que la gente olvida. Recortar del principio cuarenta segundos de alguien peleándose con el trípode ahorra más que cualquier retoque de calidad, y de todos modos nadie quería verlos.
El compresor de este sitio mueve por ti las dos primeras palancas en lugar de ofrecerte una fila de controles deslizantes. El lado largo del fotograma se limita a 720 píxeles, así que un clip de 1080p sale con 720 píxeles de ancho. El presupuesto de bits se calcula a partir de lo que gastaba de verdad la pista de vídeo original, no a partir de una cifra fija, y en una grabación típica de móvil a 1080p queda en torno a una quinta parte de la tasa de bits de vídeo original. El presupuesto también tiene un tope para que nunca se acerque a la tasa de la fuente. Ese tope existe porque antes había un mínimo fijo que quedaba por encima de la tasa de bits de un clip ya eficiente, así que al comprimirlo salía más grande.
La pista de audio marca un mínimo
Cuando se usa la vía rápida, el audio se copia tal cual. No se decodifica, no se vuelve a codificar ni se reduce. Así suena exactamente igual que antes y no consume tiempo de proceso, pero también significa que el audio es un coste fijo del que aquí no te puedes librar comprimiendo. En un clip largo de alguien hablando a cámara, donde la imagen apenas se mueve y la voz no para, el audio puede acabar siendo la mayor parte de lo que queda. Si el resultado sigue siendo demasiado grande y la imagen ya se ve poco nítida, apretar más el vídeo no te va a salvar.
La velocidad depende de tu equipo, no de tu archivo
Todo esto funciona con los códecs de vídeo del propio navegador, a través de la API WebCodecs, y no con un codificador compilado que venga incluido en la página. Si tu equipo ofrece al navegador codificación de vídeo por hardware, procesa un clip varias veces más rápido de lo que tarda en reproducirse. Si no, la codificación por software puede ser más lenta que simplemente ver el vídeo.
La herramienta se mide a sí misma mientras trabaja. Si la estimación dice que irá más lenta que el tiempo real, abandona esa vía y pasa a grabar el vídeo desde un canvas. Esa alternativa siempre tarda al menos lo que dura el clip, porque captura una transmisión en directo a velocidad de reproducción. Un vídeo de tres minutos son tres minutos de espera. Mientras tanto, mantén la pestaña en primer plano, ya que los navegadores ralentizan las pestañas en segundo plano y eso lo alargaría todavía más.
Dónde se queda corto
El archivo entero se lee en memoria, los fotogramas demultiplexados se guardan en memoria y el MP4 terminado se monta en memoria antes de entregártelo. En el pico, el consumo llega a varias veces el tamaño del original. Un clip del móvil o una grabación de pantalla van holgados. Un archivo 4K de media hora es pedirle a una pestaña del navegador algo para lo que nunca se pensó, y o irá a paso de tortuga o se vendrá abajo.
Antes de empezar, conviene conocer algunos otros límites:
- La vía rápida necesita un contenedor MP4 o MOV. Los archivos WebM y MKV van por la ruta lenta, en tiempo real.
- Hay un único preajuste y ningún selector de calidad, así que si el resultado se pasa de tu objetivo no hay ninguna palanca que tocar.
- Si cierras la pestaña o dejas que el equipo entre en reposo, el trabajo se cancela. No se guarda nada a medias.
- El audio que no es AAC no se puede copiar tal cual, y eso manda todo el trabajo a la ruta lenta.
Cuándo es mejor un programa de escritorio
HandBrake y ffmpeg clavan un tamaño de archivo objetivo con mucha más precisión que esta herramienta, porque pueden hacer dos pasadas: una para analizar el vídeo y otra para gastar los bits donde de verdad hacen falta. Pueden con archivos de una hora y con carpetas enteras de ellos, te dejan elegir códec y perfil, y no dependen de lo que una pestaña del navegador tiene permitido reservar. Si comprimes vídeo más que de vez en cuando, instala uno.
A veces la respuesta es no comprimir. Si el archivo pesa 2 GB, por mucho que lo aprietes no cabrá en un correo sin convertirse en un borrón de bloques. Súbelo a una unidad compartida y envía el enlace. La compresión es para el clip que se queda cerca del límite, no para el que lo supera cincuenta veces.
Tu vídeo no sale de tu equipo
El vídeo nunca se sube. Todo lo anterior ocurre dentro de la página que ya tienes abierta, algo que importa más de lo que parece cuando el clip es una prueba médica, una declaración grabada o la función del colegio de un niño. No tienes por qué creértelo sin más: abre las herramientas para desarrolladores del navegador, ve a la pestaña de red y comprime algo. Ninguna petición lleva tu archivo, porque esa petición nunca se hace.
El compresor de vídeo recodifica tu vídeo con una tasa de bits más baja en esta pestaña, sin subir nada.
Abrir el compresor de vídeo