iPhone, MP4 y HTTPS … ¡dolor de cabeza!

En mi último proyecto en el que he estado colaborando he tenido que poner unos cuantos (¡¡muchos!!) videos en MP4 para ser reproducidos desde la web usando streaming. Después de muchas peleas, y ya sé que hay mejores opciones, me decanté por usar Video.js como reproductor ya que necesitaba que “algo” los reprodujera en cualquier navegador, incluso en los vetustos Internet Explorer 8 (Cosas del cliente!!) y no me quedó otro remedio..

En fin, que llegó la hora de lanzar el proyecto, todos tan contentos y de repente comprobamos que algunos videos no funcionan bien en móviles.. en fin, cosas del formato. Tras recodificar los videos que fallaban y ver que todo iba a la perfección alguien grita de forma casi agónica diciendo “No funciona en mi iphone!!!”. En ese momento se te queda la típica cara de imbécil y miras al “amigo” como si fuera el aguafiestas del siglo y lo primero que se te pasa por la cabeza es que o ha puesto mal la dirección o que algo mal está haciendo. Pues no, por una vez en la vida el “amigo” estaba accediendo a la dirección correcta, el video estaba bien codificado y el puñetero iPhone de las narices se negaba a reproducir el video, sacando una bonita X en medio de la ventana del reproductor.

Tras pegarme una mañana entera peleándome con el dichoso video y viendo que no iba “ni pa tras” se me ocurre la genial idea de probar los videos en otra máquina y acceder desde el móvil a ella y …. ¡oh sorpresa! ¡Funciona! Pero… pero… ¿qué diferencia hay? Pues, sencillo, nuestra máquina en producción usaba HTTPS (conexión segura) y la de prueba no. Pues sí, ese era el problema, tan sencillo como eso.

La historia es que el certificado que nos habían suministrado no contenía el “bundle” del proveedor o agente registrador. En teoría esto no es necesario para hacer funcionar un sitio web con https, pero se ve que al amigo “iphone” no le gusta la idea. Tras “investigar” un poco consigo ponerme en contacto con el proveedor que había generado el certificado y me mandan su bundle, lo instalo en nuestro servidor y,….. siiiiii…. funcionan… bueno a medias… Funcionan bien, solo que mi “pequeño” iPhone 4 no abre ningún video que esté a más resolución de 640 pixels de ancho, pero eso ya, obviamente, es otra historia.