問題点

AEM Assets にアップロードされたビデオは、パブリッシュインスタンス経由で Apple の Safari ブラウザーでは正しく再生されますが、ディスパッチャー経由では正しく再生されません。ファイルが完全にダウンロードされると、再生されますが、ダウンロード中は再生されません。

原因

多くのものはディスパッチャーを通して、ビデオ再生を中断することができます。ただし、最も一般的な原因は Content-Length、Content-Type、または Accept-Ranges HTTP ヘッダーが正しくないかまたは欠落していることです。

解決策

ビデオの HTTP 応答ヘッダーは、cURL を使用してビデオをダウンロードすることで確認ができます:

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

コマンドの完全な出力は下記のようになります。

$ 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

Accept-Ranges および Content- Length ヘッダーが存在していて、MIME タイプが正しいことを確認します。

Content-Length ヘッダーが見つからない場合:

ApacheWeb サーバーを使用していて、Content-Length ヘッダーがない場合は、サーバー側の Server Side Include 設定が不適切な可能性があります。ファイルで SSI が有効になっている場合、Apache は Content-Length ヘッダーを省略します。

Apache.conf ファイルを「INCLUDES」用に検索すると、次のような不適切な設定が見つかる可能性があります:

SetOutputFilter INCLUDES;DEFLATE

これを設定すると、すべてのファイルで SSI が有効になります。代わりに、次のように、ファイルタイプごとに SSI を有効にする必要があります:

AddOutputFilter INCLUDES;DEFLATE html

Accept-Ranges ヘッダーがない場合:

Web サーバーの設定を最新の Web サーバーとして確認します。このオプションは、デフォルトで有効になっています。

Apache を使用している場合は、次の手順で.conf ファイルを検索します:

Accept-Ranges none

Content-Type ヘッダが正しくない場合:

MIME タイプが正しくない場合は、Web サーバー設定を更新する必要があります。Dispatcher がインストールされている Web サーバーの資料を参照してください。

以下は、ビデオ MIME タイプの非包括的なリストです:

種類 ファイル拡張子 MIME タイプ
Flash flv video/x-flv
MPEG-4 mp4 video/mp4
iPhone Index m3u8 application/x-mpegURL
iPhone Segment ts video/MP2T
3GP Mobile 3gp video/3gpp
QuickTime mov video/quicktime
Windows Media wmv video/x-ms-wmv
A/V Interleave avi video/x-msvideo

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー