domingo, 26 de febrero de 2023

Grabando video en un diskette. Evolución de los formatos de video (AV1 y H266)

 ¿Quien no se acuerda de los diskettes? 

Por allá en los 90, era el dispositivo de almacenamiento por excelencia para compartir archivos, en una época donde los grabadores de CD eran caros, e Internet era lento (56kbps a traves del modem) y poco accesible.
Pues lo habitual era usarlo para compartir documentos de Word, Excel, pequeños juegos de PC, imágenes de baja resolución... Esto es debido a su limitado almacenamiento de apenas 1.38 MB.

Los más pros, a finales de los 90, consiguieron hacer algo inimaginable años atrás con el diskette: almacenar canciones enteras de casi 3 minutos gracias al revolucionario formato de audio MP3, eso sí, a 64kbps, lo cual es una calidad de audio pésima. Con una calidad aceptable de 128kbps se podía grabar 1 minuto y medio aproximadamente, que tampoco estaba mal.

Pues bien, ¿y que pasa con el vídeo? Cualquiera que le hubieses pedido grabar un vídeo en un diskette por entonces se habría reído de ti, y con razón. Y es que el formato de vídeo revolucionario por entonces, el MPEG, permitía grabar vídeo a 240p 1374 kbit/s. Esto significaría un vídeo de máximo 8 segundos con una calidad pésima.

A día de hoy, es claramente sabido que en una microSD del tamaño de una uña nos cabe lo equivalente a miles de diskettes, pero no solo han mejorado los dispositivos de almacenamiento en estos años, la codificación de vídeo también, así que... ¿Sería factible grabar vídeo en un diskette en 2023?

Repasemos la evolución de los códec de vídeo más populares:

* MPEG1 (VCD) - 1993
* MPEG2 (DVD) - 1995

* MPEG4 (DIVX) - 1999
* H264 (AVC) - 2004

* VP9 (Google) - 2012
* H265 (HEVC) - 2013

* AV1 (AOMedia) - 2018
* H266 (VVC) - 2020

Los he ordenado cronológicamente por orden de aparición, y los he separado por categorías, ahora os explicaré por qué:

* MPEG1 fue un formato revolucionario mucho mas eficiente que los previamente existentes como Cinepak, que permitió por primera vez grabar películas en un CD. Más tarde, con la aparición del medio físico DVD, apareció una variación llamada MPEG2 cuya única diferencia es que permitía un mayor ancho de banda, alcanzando con él los 480p.

* Mas tarde, y bajo el nombre de MPEG4, empezaron a mejorar el algoritmo. DivX fue el nombre con el que conocimos por primera vez esta compresión más eficiente. Siguieron mejorándolo, creando MPEG4 parte 2, o H263 para los amigos, compresión que permitió grabar vídeo en el móvil de forma eficiente por primera vez (formato .3GP). MPEG4 parte 10, o H264, no necesita presentación y es que desde su aparición ha sido el códec de vídeo por excelencia en el BluRay, televisión digital, streaming, cámaras de video y móvil,... En todo.

* Unos años después, no solo mejoraron aun más el H264 creando H265, sino que Google también se animó a crear un nuevo códec de vídeo VP9 (Sucesor de VP8), que usaría para los vídeos de su plataforma YouTube, ambos con una eficiencia similar, y mejor que H264, aunque no lo reemplazarían del todo debido a la alta popularidad que tuvo H264, y a que H264 se podía decodificar por hardware por esos años. El hecho de que el hardware capaz de decodificar H265 tardó en aparecer, hizo que su implantación en dispositivos fuese lenta y la gente siguiera utilizando H264.

* Finalmente, y recientemente han aparecido dos nuevos códecs de vídeo con una eficiencia aun mejor, AV1 de AOMedia, y H266. A día de hoy, AV1 esta despegando bastante bien, gracias a su enorme eficiencia, y es soportado por FFMPEG, VLC, navegadores web,... Mientras tanto, H266, a febrero de 2023, sigue siendo tan novedoso que aun no es compatible ni con FFMPEG, ni con VLC, ni practicamente con nada. Ambos desde mi punto de vista proporcionan una compresión de eficiencia similar.

A continuación tenéis una pequeña comparativa que he hecho de estos últimos códecs, tras codificar 1s de vídeo 540p a distintos tamaños. (PD: Quien adivine que película es, tiene premio)




Bueno, pues... ¿que resultados obtendríamos codificando AV1 en un diskette?

Para el audio usaré HE-AAC con audio mono, manteniendo los 44100 Hz eso sí.
HE-AAC es actualmente el mejor códec de audio existente para bajos bitrates, mucho mejor incluso que OPUS, que ya es decir. Usaré el mínimo bitrate que permite codificar HE-AAC con esta configuración, que es 16 Kbps y que sorprendentemente suena bastante mejor que los 64 kbps en MP3 de la época.

Mi plan es codificar un vídeo musical entero, a 480p (DVD) en vez de 240p (VCD). En busca de ideas para el vídeo, encontré que por alguna bizarra razón el clásico Crazy Frog - Axel F está disponible en YouTube en 4k, lo cual garantiza el máximo de calidad al re-escalar a 480p, ademas de ser un clásico de los 2000's.

Tras codificar el vídeo en AV1, lamentablemente solo me entró 1 minuto en el diskette, aunque pensándolo bien... ¡¡Es 1 minuto de vídeo a 480p en un p*** diskette!! Totalmente inimaginable en los 2000's.


Ya solo por curiosidad, quise comprobar cual es la máxima duración que podría caber en el diskette bajando la resolución a 144p, y usando la mínima calidad de imagen permitida por el encoder, ademas de bajar el audio a 32000 Hz y 12 Kbps. Tras encontrar un vídeo musical que duraba 5 minutos, lo codifiqué en AV1... ¡Y entró entero! No solo eso, sino que incluso sobraron 60 Kb en el diskette. El resultado es la siguiente aberración.


Sí, la calidad de imagen es horrible, aunque si nos paramos a pensar es parecida a la de algunos vídeos web existentes a finales de los 90's, sí, de esos que se reproducían con el Real Player.


No hay comentarios:

Publicar un comentario