2011-06-29 5 views
5

Tengo un problema al reproducir un video correctamente codificado en un dispositivo iOS. Aquí está un cierto fondo/información:Sitecore Media Library ¿No es compatible con iOS?

  • Estamos utilizando jwPlayer para la reproducción
  • El vídeo se reproduce muy bien a través de flash y HTML5
  • El video fue codificado a través de la configuración predeterminada de Zencoder
  • Estamos al servicio de vídeo de la mismo servidor que funciona en los dispositivos iOS (pero ese sitio no es Sitecore)
  • se reproduce el vídeo en mi iPad cuando se sincroniza a través de Dropbox

A través de algunas investigaciones y algo de ayuda de la gran personal de apoyo en Zencoder, creemos que el problema puede estar relacionado con las cabeceras (arriba es el video que no funciona, inferior funciona bien):

$ curl -I http://fraternity.computol.com/~/media/Fraternity/mp4/leadership_zen.mp4 
HTTP/1.1 200 OK 
Date: Wed, 29 Jun 2011 16:30:29 GMT 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 
X-AspNet-Version: 2.0.50727 
Content-Disposition: attachment; filename="leadership_zen.mp4" 
Transfer-Encoding: chunked 
Set-Cookie: fraternity#sc_wede=1; path=/ 
Cache-Control: public, max-age=604800 
Expires: Wed, 06 Jul 2011 16:30:29 GMT 
Last-Modified: Wed, 29 Jun 2011 16:28:26 GMT 
ETag: 9cba9593424645bfb372a01bfe522f97 
Content-Type: application/octet-stream 

$ curl -I http://www.rhythmonthevine.org/videos/SHR_ROTV_Dierks_v02.mp4 
HTTP/1.1 200 OK 
Content-Length: 16091772 
Content-Type: video/mpeg 
Last-Modified: Thu, 24 Mar 2011 14:05:49 GMT 
Accept-Ranges: bytes 
ETag: "8374ff932ceacb1:335c" 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 
Date: Wed, 29 Jun 2011 16:30:32 GMT 

¿Hay alguien ¿Tienes alguna idea de si este problema está realmente relacionado con el encabezado? Si es así, ¿hay alguna manera de hacer que el sitecore sirva correctamente a los medios?

Editar: Además, si hace alguna diferencia, estamos en IIS6.

Editar: Las diferencias particularmente problemáticos son:

  • Transfer-Encoding (el que no se está fragmentada de trabajo)
  • La longitud del contenido (que faltan en el vídeo de arriba)
  • tipo de contenido (I Creo que este es el más grande. Tengo la configuración de tipo mime adecuada en el sitio - No lo que Sitecore no lo está sirviendo.

Respuesta

4

Tuve un problema similar que publiqué en el SDN. Fue aproximadamente getting videos to play on the iPad y se sirve desde la Biblioteca multimedia. La respuesta útil fue que el controlador de HTTP de solicitud de medios de Sitecore (sitecore_media.ashx) entrega las respuestas de medios en fragmentos (HTTP transport, Transfer-Encoding: chunked), lo que entra en conflicto con el protocolo de Apple (la respuesta debe entregarse en un fragmento al cliente). Es posible que desee intentar ver si puede anular MediaRequestHandler.

0

Le di Mark a +1 pero también ofreceré una alternativa, ¿podría solucionar el problema al mostrar el contenido mediante la duplicación en un CDN (como Akamai) o alojarlo completamente en un CDN de video (tal como Bits en ejecución (http://www.longtailvideo.com/bits-on-the-run/)?

Esto probablemente daría como resultado un menor costo de ancho de banda y un mejor rendimiento también, en lugar de servir video constantemente desde Sitecore

3

me encontré con el mismo problema, y ​​era capaz de pasar a través de un par de cosas:.

  1. que añade el tipo MIME a MimeType.config de la siguiente manera:

    <mediaType extensions="mp4"><mimeType>video/mp4</mimeType></mediaType> 
    
  2. entró en el elemento de la biblioteca de medios, y cambia el tipo MIME del elemento a ser "video/mp4".

  3. entró en el servidor, y suprime todos los archivos en "C: \ inetpub \ wwwroot \ Sitecore62 \ sitio web \ App_Data \ MediaCache"

tuve diferentes valores de cabecera bajo Curl, pero el mimo mal -type fue consistente con la tuya. Una vez que hice todo lo anterior, se devolvió correctamente el tipo de mimo y se reprodujo el video - HTML a continuación:

<video class="video-js" width="640" height="360" autoplay controls loop> 
    <source src="http://<server>/~/media/client/videos/video.mp4" type="video/mp4" /> 
</video>