2010-04-15 22 views
42

tengo el siguiente código:HTML5 de vídeo (MP4 y ogv) problemas en Safari y Firefox - Chrome, pero es todo lo buena

<video width="640" height="360" controls id="video-player" poster="/movies/poster.png"> 
<source src="/movies/640x360.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> 
<source src="/movies/640x360.ogv" type='video/ogg; codecs="theora, vorbis"'> 
</video> 
  • estoy usando Rails (Mestizo en el desarrollo y Mestizo + Apache en producción).
  • Chrome (Mac y Windows) puede reproducir cualquier archivo (probado por una y luego por las otras etiquetas de origen) ya sea localmente o desde mis servidores de producción.
  • Safari (Mac y Win) puede reproducir el archivo mp4 bien localmente pero no de la producción.
  • Firefox 3.6 no reproducirá el video en ninguno de los sistemas operativos. Acabo de recibir una cruz gris en el medio del área del reproductor de video.
  • Me he asegurado de que tanto Mongrel como Apache en cada caso tengan los tipos MIME correctos establecidos.
  • De los resultados de Chrome sé que no hay nada inherentemente incorrecto con mis archivos de video o la forma en que se solicitan o entregan los archivos.

Para Firefox Miré en https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox donde se refiere a un evento de 'error' y un atributo 'error'. Parece que el evento 'error' se produce bastante bien inmediatamente y en ese momento no hay ningún atributo de error. ¿Alguien sabe cómo diagnosticar el problema?

+0

Intenta abrir el archivo de video en Firefox y ver si se reproduce. – CurtainDog

+0

Eso podría ser una pista. Si pruebo esto localmente o desde el servidor de producción me piden que descargue el archivo. Suena quizás como un problema MIME ..? Pero he verificado y comprobado que estos están configurados para .ogv. Grrr. ¿Cómo verificaría que Apache sigue las configuraciones de MIME? ¿Alguna pista? – qryss

+0

Acabo de probar esto en Chrome (donde el video se reproduce bien) y esto también descarga el archivo si pongo la URL en la barra de ubicación ... – qryss

Respuesta

39

HTTP Content-Type para .ogg debe ser application/ogg (video/ogg para .ogv) y para .mp4 debe ser video/mp4. Puede verificar usando the Web Sniffer.

+0

Aha. Lo comprobé usando Web sniffer y yo estoy recibiendo el tipo de contenido como application/octet-stream Así que para Firefox de todos modos es el aspecto de un problema tipo MIME Gracias -... voy a ver si puedo solucionarlo de aquí Hay Todavía el problema con Safari, aunque ... :( – qryss

+3

Tuve una configuración errónea de Apache y el problema de Firefox fue de hecho debido a los tipos MIME incorrectos que se envían. ¡Gracias! – qryss

+0

Ahora también he encontrado mi problema de Safari: otra configuración incorrecta. ¡Todos los problemas han sido resueltos! Gracias, muchachos. – qryss

-1

que ver en la página de documentación un ejemplo como este:

<source src="foo.ogg" type="video/ogg; codecs=&quot;dirac, speex&quot;"> 

tal vez debería incluir la información codec con &quot; entidades en lugar de cotizaciones reales y el atributo type con citas en lugar de apóstrofes.

También puede intentar eliminar la información del códec por completo.

+0

Gracias, bogdanvursu. Muy apreciado. Me temo que ninguna sugerencia ayudó, sin embargo. :( – qryss

+1

Si las comillas externas son comillas dobles, necesita escapar de las comillas internas como ". Si las comillas externas son comillas simples, no es necesario que escape las comillas dobles internas. – hsivonen

-1

Simplemente elimine las comillas internas: confunden a Firefox. Puedes usar "video/ogg; codecs = theora, vorbis".

Además, ese marcado funciona en mi Minefiled 3.7a5pre, por lo que si tu archivo ogv no se reproduce, puede ser un archivo falso. Cómo lo creaste? Es posible que desee registrar un error con Firefox.

+1

las cotizaciones internas eran necesarias –

3

Incidentalmente, los archivos .ogv son de video, por lo que los archivos "video/ogg", .ogg son de audio Vorbis, por lo que los archivos "audio/ogg" y .oga son audio Ogg general, también "audio/ogg". Comprobado en Firefox y trabajo. "application/ogg" está en desuso para todos los usos de audio o video. Ver http://www.rfc-editor.org/rfc/rfc5334.txt

-7

sólo tiene que cambiar una letra :), renombrar 640x360.ogv a 640x360.ogg, que funcionará para todos los 3 navegadores.

+8

Esto no es verdad. –

+3

NO ES CIERTO ogg no es compatible con IE – John

31

Agregue estas líneas en su archivo .htaccess y funcionará para todos los navegadores. Funciona para mi.

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

Si no tiene el archivo .htaccess en su sitio, cree uno nuevo :) es obvio, supongo.

+1

genial ... funcionó para mí como un amuleto :) –

+0

lamentablemente no funcionó para mí. Estaba intentando videos de m4v.Puede sugerir por ellos como para .ogv. mp4 .webm – Daenarys

+0

@NJInamdar use 'AddType video/mp4 .mp4 .m4v' para la segunda línea –

Cuestiones relacionadas