Problema

Los vídeos cargados en AEM Assets se reproducen correctamente en el navegador Safari de Apple a través de instancias de publicación, pero no a través de Dispatcher.  El archivo se reproduce una vez que está completamente descargado, pero no durante la descarga.

Causa

Hay muchas razones por las que se puede interrumpir la reproducción de vídeos a través de Dispatcher.  Sin embargo, las causas más comunes son los encabezados HTTP contenido-longitud, contenido-tipo o aceptar-intervalo erróneos o inexistentes.

Resolución

Los encabezados de respuesta HTTP de un vídeo se pueden comprobar utilizando la cURL para descargar el vídeo:

curl -v http://host/content/dam/test.mp4

A continuación aparece el resultado completo del comando:

$ curl -v http://host/content/dam/test.mp4
...
> GET /content/dam/test.mp4 HTTP/1.1
> User-Agent: curl/7.37.1
> Host: host
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Mon, 09 Jan 2017 20:27:50 GMT
* Server Apache is not blacklisted
< Server: Apache
< Last-Modified: Wed, 23 Nov 2016 23:22:56 GMT
< ETag: "17c0313-81a7de-542002b36d400"
< Accept-Ranges: bytes
< Content-Length: 8497118
< Content-Type: video/mp4

Compruebe que los encabezados aceptar-intervalo y contenido-longitud están presentes y que el tipo MIME es correcto.

Si falta el encabezado contenido-longitud:

Si está utilizando el servidor web Apache y falta el encabezado contenido-longitud, es probable que se deba a una mala configuración de inclusión del servidor.  Cuando SSI está habilitado en un archivo, Apache omite el encabezado contenido-longitud.

En sus archivos .conf de Apache, busque “INCLUDES”. Es posible que encuentre una configuración incorrecta como la siguiente:

SetOutputFilter INCLUDES;DEFLATE

Si está configurado, habilita SSI en todos los archivos.  En su lugar, SSI debería estar habilitado por tipo de archivo, de la siguiente manera:

AddOutputFilter INCLUDES;DEFLATE html

Si falta el encabezado aceptar-intervalos:

Revise las configuraciones de su servidor web, ya que la mayoría de los servidores web modernos tienen la opción de intervalo habilitada de forma predeterminada.

Si está usando Apache, en los archivos .conf busque lo siguiente:

Accept-Ranges none

Si el encabezado contenido-tipo es incorrecto:

Si el tipo MIME es incorrecto, deberá actualizar la configuración de su servidor web. Consulte la documentación del servidor web en el que tiene instalado Dispatcher.

Esta es una lista pequeña no inclusiva de tipos de vídeo MIME:

Tipo Extensión de archivo Tipo MIME
Flash flv video/x-flv
MPEG-4 mp4 video/mp4
Índice de iPhone m3u8 aplicación/x-mpegURL
Segmento de iPhone ts vídeo/MP2T
Móvil 3GP 3gp video/3gpp
QuickTime mov video/quicktime
Windows Media wmv video/x-ms-wmv
Intercalación A/V avi video/x-msvideo