26 abr. 2012

Vídeo HTML5. La guerra ha terminado y han ganado los malos



Hace tiempo escribí sobre el formato abierto de vídeo webM contra el formato propietario h264. Predije que si las cosas salían como esperaba, el bien triunfaría sobre el mal, me equivoqué completamente.

Historia.

Se quiere que los vídeos sean tan fácil de poner como una imagen en las páginas web. La fundación MPEG-LA (apple, microsoft,Todo buena gente...) posee un buen codec llamado h264 (aka mp4), es propietario y hay que pagar por que tu programa o dispositivo lo reproduzca. Por ende, tu programa o aparato será más caro que uno que no lo lleve. Otro problema es que, como buenos camellos, la MPEG-LA está prácticamente regalando licencias para que todo el mundo disfrute de esto, ahora bien, si es un standard ellos pueden cobrar lo que les de la gana, te regalan el coche y tranquilo que ellos controlarán el precio de la gasolina.

Alternativamente hay otro codec abierto llamado Theora (aka OGG/OGV)  un poco peor que el h264 pero completamente abierto. "Peor" significa que necesita más espacio y mejor conexión a internet para que se vea a la misma calidad. Y "abierto" significa que puedes crear reproductores, editores, grabadores sin pagar un centavo y que no te van a subir el precio mañana.

La W3C, algo parecido a la ONU en internet (los países son Apple, mozilla, Microsoft, opera ), tendría que  recomendar un codec u otro, pero lo que dice es básicamente "que Dios reparta suerte" y que cada uno ponga lo que le de la gana.

Mozilla (firefox, el navegador más popular en ese momento) y Opera se quejan de que para usar h264 tienen que pagar un pastizal y que gastar dinero que no gastarán en desarrollo de sus navegadores, por lo que no podrán ser competitivos.

La solución por la que se optó es la ley del más fuerte. Podías comprimir dos veces el archivo de video, h264 y OGV para que los diferentes navegadores lo reprodujesen. Si tu navegador no lo soportaba, siempre podías ponerlo en flash.

El punto importante es que Adobe Flash soporta h264 (mp4), es decir, ponías tu vídeo en h264 y si tu navegador no soportaba este formato saltaba un flash que lo reproducía. Flash no ha soportado nunca OGG. Por lo que si tenías que comprimir en 1 sólo formato (los vídeos ocupan muchos y tienes que elegir) siempre se optaba por h264.



Y en el papel de Judas... Google

¡No os preocupéis Mozilla! debieron decirles los de Google, somo un gigante bueno y vamos a comprar una empresa (On2) que tiene mucha experiencia y un codec cojonudo el VP8. Nosotros tenemos mucho peso en internet y se van a enterar estos de los codecs propietarios.

Casi nadie sospechaba la traición de Google porque a ellos también le convenía que el codec fuera libre, pensad en los vídeos de youtube, vienen comprimidos en h264, les cuesta muy poco, pero poned un céntimo por vídeo y veréis que Google se ahorraría una pasta si usara un codec abierto, y para hacerlo la gente tiene que poder verlo en sus casas sin problema. Un vídeo no visto es dinero en publicidad perdida.

Pues ni corto ni perezoso Google compra On2 por 127 millones de dólares, mejora su codec VP8 y lo libera intentando crear un nuevo estandard el webM (vídeo en vp8 y audio en vorbis, mejor que el mp3).

Y llegaron al poco y dijeron, webM para todo el mundo, gratis, gratis... Mozilla y Opera sacaron nuevas versiones de sus navegadores y dijeron que soportaban el nuevo standard webM contentos de no pagar por los codecs propietarios.

Adobe cerró el timo prometiendo que sus siguientes versiones de Flash soportarían WEBm

El estatus en ese momento era, Navegadores con h264:

  • Chrome
  • Safari en Macos
  • IE9
  • iPhone
  • Android
Con webM:
  • Chrome
  • Firefox
  • Opera

¿Os dáis cuenta del truco? ¿no? Os pongo un ejemplo

Haces una página web y pones un vídeo, lo comprimes en h264 así lo pueden ver sin problemas en móviles,  y navegadores, y si da la casualidad de que usas Firefox pues salta un reproductor con Flash, cosa algo cutre. Chrome lo soporta todo, ¿Por qué usar firefox?.  Chrome empieza a llevarse usuarios de Firefox.

Los de Apple (en general el consorcio maligno MPEG-LA) empiezan a decir que el codec es peor que el suyo, que los van a denunciar por violación de patentes lo que añade mucho ruido a la ecuación, lo cual les conviene.

La pregunta del millón es ¿porque no incorporan el codec en Safari o en iphone si es gratis? porque Apple se lleva pasta cada vez que alguien usa el codec h264.

Google anuncia que dejará de soportar h264 en chrome para promocionar la web abierta. Para jugar a la misma altura que Firefox. Esto es otra engañifa. Si realmente confiaban en el webM y querían standarizar el codec lo que tendrían que haber hecho google es pasar youtube a webm, y quien lo quiera reproducir que use el youtube player de iOs o un navegador que lo soporte. Ya verías tu que rápido incorporaban el codec a sus navegadores y dispositivos Apple y compañia.

Pero durante la transición iban a perder visionados de vídeos y publicidad (más que 127 millones, supongo) así que "va a ser que no".

Y empieza a pasar el tiempo, y Chrome vuelve a incluir h264 (a través de flash incorporado en el navegador), y las guerras de los dispositivos móviles se hace encarnizada. Los chips de los móviles están optimizados para h264 y no para webM, por lo que aunque el navegador soporte webm, gastará más batería e irá peor.

Adobe (flash) se ha ido silbando por la puerta de atrás y diciendo "ya si eso lo vemos, iros olvidando de más versiones para móviles".

Y han pasado un par de años y Mozilla quiere con "boot to gecko" crear su sistema operativo para móviles, y la realidad es que ninguno tiene aceleración para webm y todos tienen para h264.

Así que Firefox ha bajado la cabeza y ha dicho, "lo de la web abierta es muy bonito pero se nos está comiendo la competencia (aka Chrome), renovarse o morir".

Hay gente que culpa a Mozilla, yo los veo como la vícitma. h264 ha ganado, esta presente en los móviles, las cámaras de fotos, las consolas, etc ¿tiene sentido resistir hasta la muerte y reunirse con netscape al otro lado?

Al menos la guerra ha terminado y podremos hacer nuestras páginas igual para todos los navegadores.