Videos, die in AEM Assets hochgeladen wurden, werden im Apple Safari Browser über Veröffentlichungsinstanzen korrekt wiedergegeben, jedoch nicht über den Dispatcher. Sobald die Datei vollständig heruntergeladen ist, startet die Wiedergabe, jedoch nicht während des Downloads.
Viele Dinge können die Videowiedergabe über den Dispatcher unterbrechen. Die häufigsten Ursachen sind jedoch falsche oder fehlende Content-Length, Content-Type oder Accept-Ranges HTTP-Header.
Die HTTP-Antwort-Header für ein Video können mit cURL überprüft werden, um das Video herunterzuladen:
curl -v http://host/content/dam/test.mp4
Die vollständige Ausgabe des Befehls ist nachstehend ersichtlich:
$ 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
Überprüfen Sie, ob die Accept-Ranges und Content-Length-Headers vorhanden sind und ob der MIME-Typ korrekt ist.
Wenn Sie den Apache-Webserver verwenden und der Content-Length-Header fehlt, dann liegt es möglicherweise an einer schlechten serverseitigen Einschlusskonfiguration. Wenn SSI für eine Datei aktiviert ist, lässt Apache den Content-Length-Header weg.
Suchen Sie in Ihren Apache.conf-Dateien nach „INCLUDES“. Möglicherweise finden Sie eine fehlerhafte Konfiguration wie diese:
SetOutputFilter INCLUDES;DEFLATE
Wenn dieser Wert festgelegt ist, wird SSI in allen Dateien aktiviert. Stattdessen sollte SSI per Dateityp wie folgt aktiviert werden:
AddOutputFilter INCLUDES;DEFLATE html
Überprüfen Sie die Konfigurationen Ihres Webservers, da die meisten modernen Webserver standardmäßig die Bereichsoption aktiviert haben.
Wenn Sie Apache verwenden, dann suchen Sie in den .conf-Dateien nach:
Accept-Ranges none