2010-11-21 10 views
14

Estoy usando Adobe Media Encoder CS5 para codificar un archivo FLV en H.264 para presentarlo en la web a través de HTML5 y el archivo de video se reproduce muy bien en Safari en OS X (y en Firefox codificado para OGG) pero en cualquier dispositivo con iOS (iPad, iPhone) obtengo el icono de reproducción con la barra oblicua.MP4 codificado en H.264 presentado en HTML5 se reproduce en Safari pero no en dispositivos iOS

¿Alguien ha encontrado esto antes y, en caso afirmativo, alguna idea de por qué?

Gracias.

+0

¿Has leído este artículo: [tutorial que sirve html5 video cross browser incluyendo ipad] (http://www.robwalshonline.com/posts/tutorial-serving-html5-video-cross-browser-including-ipad/)? –

Respuesta

5

Sé que esto tiene una respuesta marcada, pero tuvimos exactamente el mismo problema.

El problema terminó siendo una configuración en nuestra red interna.

Después de encender la consola de safari en el iPad, vimos que al intentar cargar el video, estábamos obteniendo un "byte_range_error_message" que se registraba. Parece que los dispositivos móviles solicitan este contenido de forma diferente a los dispositivos de escritorio, al solicitar ciertos bytes a la vez. Logramos descubrir que el video funcionaba bien cuando los teléfonos usaban sus redes 3G, pero no cuando cargaban el video a través del wifi interno. Una gran cantidad de investigación más tarde nos llevó a este artículo de MSDN: http://support.microsoft.com/kb/922330

que explica cómo encontrar la configuración en nuestro firewall para permitir que los dispositivos soliciten el video correctamente. También encontramos una configuración similar en uno de nuestros enrutadores D-Link para una red wifi separada que también estaba teniendo el problema.

+0

Las ideas/respuestas alternativas son siempre bienvenidas. –

21

Tuvimos este problema y descubrimos que la codificación de los archivos de acuerdo con los estándares de la vista web de iPhone creaba archivos que funcionaban bien.

No todos los archivos Mp4 con codificación H.264 son compatibles con el iPhone (o Chrome en este caso) y las leves diferencias en el proceso de codificación pueden producir videos que no funcionan. Incluso si se usaban las mismas configuraciones EXACTAS de codificación, H.264 es un codificador de velocidad de bits variable, por lo que los diferentes videos pueden superar los límites de tasa de bits, lo que hace que algunos funcionen y otros no.

la configuración de codificación que tuvieron éxito para nosotros fueron:

  • Sólo utilice el perfil básico de H.264 de nivel 3.0
  • Resolución debajo de 640 x 480 y velocidad de fotogramas de hasta 30 fps
  • marcos B son no admitido en el perfil de Baseline.
  • límite de velocidad de bits de 900kb.

Aquí está el reference que usamos para llegar a esas configuraciones.

+2

¡De lejos, la mejor respuesta! – bcm

+0

Para usuarios posteriores: puede encontrar los niveles h.264 en la configuración del módulo de salida/Opciones de formato/Video - Nivel – FireStream

+0

NUNCA use la opción de codificación "Inicio rápido" (en Handbrake se llama "Optimizado para web"); de lo contrario, los videos no se reproducirá en dispositivos con iOS. Para más detalles, consulte http://stackoverflow.com/a/24076523/1066234 –

Cuestiones relacionadas