Intro
En estos dias se ha levantado bastante polvareda con la noticia de que YouTube y Vimeo(¿? Primera ves que lo oigo nombrar) han empezado a ofrecer videos atravez de HTML5, dando el primer paso para dejar atras la necesidad del plugin Flash (al menos en lo que respecta a video por internet), algo que la comunidad, especialmente los que apoyan el software libre, hace rato venian pidiendo.
Sin embargo la noticia resulta no se tan color de rosa, ya que como codec de video, Google (recordemos que compro youtube hace algun tiempo ya, 5 mil palos verdes le salio), ha elejido el h.264, patentado hasta la medula en muchos paises, EEUU incluido, (y por cierto nada barata la licencia, 5 millones aprox), dejando a un lado la alternativa libre, Theora. Osea que estamos en la misma o tal vez peor, ya que salimos de la sarten para caer en las brasas.
Esto deja fuera de la jugada a cualquier navegador libre, incluido el archiconocido Firefox. Firefox fue uno de los primeros en ofrecer soporte para html5, desde las betas de la version 3.5 que es asi, sin embargo para ver video, ofrecia soporte unicamente para la combinacion Theora/Vorbis ¿Porque? Porque a diferencia de el resto, es el unico totalmente libre.
No me interesa abordar mucho el tema de porque firefox no soporta sin mas h264, pero dicho simplemente, no puede incluir soporte para h264 sin que el navegador deje de ser libre, y no pueden usar x264 ni ffmpeg ni nada de eso porque se exponen a una demanda segura y millonaria por parte de la mpeg-la. Lo peor, esto tambien pondria en riesgo a cualquiera que desee crear y compartir videos por internet usando este formato, asi sea el video tus vacaciones, porque segun la patente, no podes crear o reproducir contenido en h264 si no pagas la patente. Obiamente el asunto es bastante jodido.
El mito
Echo esta introduccion, vayamos a lo que me interesa. A la hora de discutir si se deberia usar h264 o theora, uno de los principales argumentos que esgrimen con mas fuerza aquellos que defienden el uso de h264 es el que Theora es un codec obsoleto, de una calidad pobrisima y ni de cerca comparable al h264.
El tema es que theora hasta hace no mucho estaba en la version 1.0 y no habia tenido muchas mejoras debido a su escasa popularidad. Cuando se sugirio por primera vez el uso de theora como codec por defecto para html5, hubo mucho movimiento por parte de algunas empresas (Mozilla incluida) para ponerlo a la altura de las circustancias, y ahora, con theora v1.1 las cosas han cambiado mucho.
La posta
Para mi y para la mayoria, la calidad que actualmente ofrece youtube en sus videos de alta definicion mediante flash, es exelente en verdad (recordemos que flash en su version 10 codifica video precisamente mediante h264). Algunos personajes, incluido un empleado de Google, salieron a decir que si se pasara a Theora, se perderia calidad y aumentaria el consumo de ancho de banda. Entonces alguien se tomo la molestia de compara la calidad de los videos ofrecidos por youtube, con el actual codec theora 1.1. El resultado es sorprendente.
Lo que se hizo aqui es tomar un video de alta definicion de 1080p y de unos 8 min de duracion y llevarlo a 1280 x 720. El resultado es este video:
Primero lo subio a youtube:
Luego lo volvio a bajar de ahi, para obtener el resultado luego de la recodificacion echa por youtube.Luego agarra el video original, y lo codifica usando ffmpeg2theora, un pequeño encoder de linea de comandos, de modo que tenga la misma resolucion y casi el mismo tamaño. Los resultados:
En calidad normal:
YouTube ~529 Kbps combinado, H.264 (~33,5 MB)
Link del video:
Theora, (~33,2 MB)
Link del video:
Nota: El segundo video en ogv, no hace falta que lo descarguen si usan firefox u Opera, basta con que lo habran en una nueva pestaña y solito empesara a reproducirlo usando el reproductor integrado
Como ven en calidad normal, no hay diferencias apreciables, algun hincha detallista con un microscopio podra decir que uno es ligeramente mejor que el otro, pero realmente no hay una diferencia apreciable, ambos videos tienen la misma calidad.
Ahora, ¿Que pasa con videos en alta definicion?
En 720p
(De momento no dispongo de capturas pero es mejor que comparen los videos directamente)
YouTube ~2135 Kbps combinado, H.264, (~134,9 MB)
Link del video:
Theora (~133,9 MB)
Link del video:
De nuevo, este ultimo pueden verlo directamente desde su firefox, y pueden compararlo con el video de youtube puesto en maxima calidad (para no tener que bajar el video completo).
Increiblemten aqui tambien, Theora muestra una calidad increible, practicamente identica a la ofrecida por youtube. La verdad me sorprende el progreso que ha tenido este codec, ya que hace no mucho yo mismo cree un par de videos con handbrake y theora 1.0, y la calidad era muy inferior.
Conclusion
La conclusion es que, al menos en lo que a calidad se refiere, ambas opciones estan ahora parejas y no son un verdadero motivo para decantarse por uno u otro. ¿Cual es el problema entonces?
Pues h264 ya lleva mucho tiempo en la calle, y a travez de flash, x264, y AVC, se ha convertido en el estandart de facto para al industria y los videos en alta definicion, a tal punto de que ya hay bastante hardware, incluidas placas de video y reproductores bluray, que lo decodifican directamente por hardware, resultando en un enorme carga menos para el procesador.
Theora por el contrario, debe ser decodificado enteramente por el procesador, y no hay chips que lo hagan por hardware, ni ningun proyecto al respecto, al menos por ahora, sin embargo en este sentido no requiere tanta potencia del procesador como la que requiere h264 en caso de no contar con decodificacion por hardware.
Ahora bien, si hoy en dia hay reproductores, estereos de auto, minicomponentes que reproducen mp3 es porque el formato se usa mucho, y pese a alternativas superiores o a la negativa de parte de las discograficas, igual brindan soporte, porque es lo que la gente usa. Exactamente igual pasa con los videos avi codificados con xvid o divx, y el soporte de estos por parte de practicamente la totalidad de los reproductores DVD del momento.
Esto da a pensar que si mucha gente de pronto insistiera en usar un formato libre como seria el codec theora en combinacion con el codec de audio vorbis (.ogg para el audio y .ogv para el video), al punto que los fabricantes de hardware vieran una ventaja competitiva en ofrecer decoficacion para tales formatos, de echo lo harian, sin importar cuanto puteen los de la industria del cine, o las discograficas o la SGAE (para los españoles), porque al fin de cuentas lo que les importa es vender mas.
En definitiva, si acaso les preocupa el echo de que el sitio de videos numero 1 del mundo decida usar un codec cerrado y patentado, ahorcando asi a toda la competencia de navegadores libre, lo primero que deberian hacer es empezar a usarlo en todos los videos que posean y compartan. Es la unica, solo asi se forzaria a los fabricantes a ofrecer soporte para este formato, y a Google y demas proveedores de contenidos a optar por un codec libre en sus implementaciones del futuro html5
Referencias:
Mas detalles sobre la comparativa aqui:
Sobre el asunto de youtube y firefox:
En estos dias se ha levantado bastante polvareda con la noticia de que YouTube y Vimeo(¿? Primera ves que lo oigo nombrar) han empezado a ofrecer videos atravez de HTML5, dando el primer paso para dejar atras la necesidad del plugin Flash (al menos en lo que respecta a video por internet), algo que la comunidad, especialmente los que apoyan el software libre, hace rato venian pidiendo.
Sin embargo la noticia resulta no se tan color de rosa, ya que como codec de video, Google (recordemos que compro youtube hace algun tiempo ya, 5 mil palos verdes le salio), ha elejido el h.264, patentado hasta la medula en muchos paises, EEUU incluido, (y por cierto nada barata la licencia, 5 millones aprox), dejando a un lado la alternativa libre, Theora. Osea que estamos en la misma o tal vez peor, ya que salimos de la sarten para caer en las brasas.
Esto deja fuera de la jugada a cualquier navegador libre, incluido el archiconocido Firefox. Firefox fue uno de los primeros en ofrecer soporte para html5, desde las betas de la version 3.5 que es asi, sin embargo para ver video, ofrecia soporte unicamente para la combinacion Theora/Vorbis ¿Porque? Porque a diferencia de el resto, es el unico totalmente libre.
No me interesa abordar mucho el tema de porque firefox no soporta sin mas h264, pero dicho simplemente, no puede incluir soporte para h264 sin que el navegador deje de ser libre, y no pueden usar x264 ni ffmpeg ni nada de eso porque se exponen a una demanda segura y millonaria por parte de la mpeg-la. Lo peor, esto tambien pondria en riesgo a cualquiera que desee crear y compartir videos por internet usando este formato, asi sea el video tus vacaciones, porque segun la patente, no podes crear o reproducir contenido en h264 si no pagas la patente. Obiamente el asunto es bastante jodido.
El mito
Echo esta introduccion, vayamos a lo que me interesa. A la hora de discutir si se deberia usar h264 o theora, uno de los principales argumentos que esgrimen con mas fuerza aquellos que defienden el uso de h264 es el que Theora es un codec obsoleto, de una calidad pobrisima y ni de cerca comparable al h264.
El tema es que theora hasta hace no mucho estaba en la version 1.0 y no habia tenido muchas mejoras debido a su escasa popularidad. Cuando se sugirio por primera vez el uso de theora como codec por defecto para html5, hubo mucho movimiento por parte de algunas empresas (Mozilla incluida) para ponerlo a la altura de las circustancias, y ahora, con theora v1.1 las cosas han cambiado mucho.
La posta
Para mi y para la mayoria, la calidad que actualmente ofrece youtube en sus videos de alta definicion mediante flash, es exelente en verdad (recordemos que flash en su version 10 codifica video precisamente mediante h264). Algunos personajes, incluido un empleado de Google, salieron a decir que si se pasara a Theora, se perderia calidad y aumentaria el consumo de ancho de banda. Entonces alguien se tomo la molestia de compara la calidad de los videos ofrecidos por youtube, con el actual codec theora 1.1. El resultado es sorprendente.
Lo que se hizo aqui es tomar un video de alta definicion de 1080p y de unos 8 min de duracion y llevarlo a 1280 x 720. El resultado es este video:
Primero lo subio a youtube:
Luego lo volvio a bajar de ahi, para obtener el resultado luego de la recodificacion echa por youtube.Luego agarra el video original, y lo codifica usando ffmpeg2theora, un pequeño encoder de linea de comandos, de modo que tenga la misma resolucion y casi el mismo tamaño. Los resultados:
En calidad normal:
YouTube ~529 Kbps combinado, H.264 (~33,5 MB)
Link del video:
Theora, (~33,2 MB)
Link del video:
Nota: El segundo video en ogv, no hace falta que lo descarguen si usan firefox u Opera, basta con que lo habran en una nueva pestaña y solito empesara a reproducirlo usando el reproductor integrado

Como ven en calidad normal, no hay diferencias apreciables, algun hincha detallista con un microscopio podra decir que uno es ligeramente mejor que el otro, pero realmente no hay una diferencia apreciable, ambos videos tienen la misma calidad.
Ahora, ¿Que pasa con videos en alta definicion?
En 720p
(De momento no dispongo de capturas pero es mejor que comparen los videos directamente)
YouTube ~2135 Kbps combinado, H.264, (~134,9 MB)
Link del video:
Theora (~133,9 MB)
Link del video:
De nuevo, este ultimo pueden verlo directamente desde su firefox, y pueden compararlo con el video de youtube puesto en maxima calidad (para no tener que bajar el video completo).
Increiblemten aqui tambien, Theora muestra una calidad increible, practicamente identica a la ofrecida por youtube. La verdad me sorprende el progreso que ha tenido este codec, ya que hace no mucho yo mismo cree un par de videos con handbrake y theora 1.0, y la calidad era muy inferior.
Conclusion
La conclusion es que, al menos en lo que a calidad se refiere, ambas opciones estan ahora parejas y no son un verdadero motivo para decantarse por uno u otro. ¿Cual es el problema entonces?
Pues h264 ya lleva mucho tiempo en la calle, y a travez de flash, x264, y AVC, se ha convertido en el estandart de facto para al industria y los videos en alta definicion, a tal punto de que ya hay bastante hardware, incluidas placas de video y reproductores bluray, que lo decodifican directamente por hardware, resultando en un enorme carga menos para el procesador.
Theora por el contrario, debe ser decodificado enteramente por el procesador, y no hay chips que lo hagan por hardware, ni ningun proyecto al respecto, al menos por ahora, sin embargo en este sentido no requiere tanta potencia del procesador como la que requiere h264 en caso de no contar con decodificacion por hardware.
Ahora bien, si hoy en dia hay reproductores, estereos de auto, minicomponentes que reproducen mp3 es porque el formato se usa mucho, y pese a alternativas superiores o a la negativa de parte de las discograficas, igual brindan soporte, porque es lo que la gente usa. Exactamente igual pasa con los videos avi codificados con xvid o divx, y el soporte de estos por parte de practicamente la totalidad de los reproductores DVD del momento.
Esto da a pensar que si mucha gente de pronto insistiera en usar un formato libre como seria el codec theora en combinacion con el codec de audio vorbis (.ogg para el audio y .ogv para el video), al punto que los fabricantes de hardware vieran una ventaja competitiva en ofrecer decoficacion para tales formatos, de echo lo harian, sin importar cuanto puteen los de la industria del cine, o las discograficas o la SGAE (para los españoles), porque al fin de cuentas lo que les importa es vender mas.
En definitiva, si acaso les preocupa el echo de que el sitio de videos numero 1 del mundo decida usar un codec cerrado y patentado, ahorcando asi a toda la competencia de navegadores libre, lo primero que deberian hacer es empezar a usarlo en todos los videos que posean y compartan. Es la unica, solo asi se forzaria a los fabricantes a ofrecer soporte para este formato, y a Google y demas proveedores de contenidos a optar por un codec libre en sus implementaciones del futuro html5

Referencias:
Mas detalles sobre la comparativa aqui:
Sobre el asunto de youtube y firefox: