У меня есть видеофайлы .mp4, хранящиеся в ведро AWS S3, и я могу передавать их с веб-страницы HTML5 в chrome, firefox , сафари (как настольные, так и мобильные). HTML код выглядит следующим образом:Невозможно передать .mp4 с помощью HTML5 из AWS S3 в IE, даже если задан тип контента
<video style="margin: 0 auto; width: 70%; display:block;" controls autoplay>
<source src="https://s3.amazonaws.com/my-bucket/item1/16x9/main.mp4" type="video/mp4" />
</video>
Однако, я не могу получить эту работу в IE 11/10/9 (ошибка, я получаю «Ошибка: неподдерживаемый тип видео или недопустимый путь к файлу»). Я знаю, что видео правильно закодировано для IE, потому что, если я размещаю его на своем локальном веб-сервере, видео очень хорошо работает в IE.
Я вырыл через переполнение стека, и форумы амазонок, и главное, что люди, похоже, сталкиваются, не меняют метаданные Content-Type из «application/octet-stream» на «video/mp4». Изменение этого для меня, кажется, не имеет никакого значения для IE:
Сначала я думал, может быть, я просто не установить тип содержимого правильно в S3, но если я ударил URL S3 с помощью скрипача я могу видеть, что правильный тип контента на самом деле получение передаются в заголовках:
HTTP/1.1 200 OK
x-amz-id-2: XsUylpKUMmFPGEQUYyEVdHlicQK3ge2PH6f2lW7quS7ixsBLgEbGww0+qimVGJS4
x-amz-request-id: AC0B4231F897147C
Date: Tue, 30 Jun 2015 15:09:13 GMT
Last-Modified: Tue, 30 Jun 2015 14:38:11 GMT
ETag: "123430248eca490c3fbf7a3a361c1118"
Accept-Ranges: bytes
Content-Type: video/mp4
Content-Length: 35874512
Server: AmazonS3
что еще более странно, что стелька имеет опцию отображения WebView, который может представить предварительный просмотр видео с помощью окна IE и что ДЕЙСТВИТЕЛЬНО воспроизводит видео просто отлично.
Есть ли у кого-нибудь какие-либо предложения о том, как заставить это видео играть с S3 в IE?
EDIT 1:
Это кажется странным ... если я изменить URL-адрес, указывающий на S3 с HTTPS на HTTP, то видео играет в IE. Это не приемлемое решение для меня, но, возможно, указывает на проблему с IE потоковым html5 видео по https? (Это видит, как она должна быть фундаментальной чертой, так что я не уверен, если это верно для всех видео по протоколу HTTPS.)
EDIT 2:
Итак, IE, кажется, играть в любые видео через HTTP, что Я просто замечаю. Если мой сайт размещен поверх http, а видео размещается поверх https, он не хочет его воспроизводить. Итак, я подтолкнул свой код к тестовому серверу с включенным https и обнаружил, что могу воспроизводить видео по https, если видео размещено в том же домене. Поскольку S3 явно находится в другом домене, это все еще не воспроизводит видео в IE. Если я загружу файл test.html на S3, у которого есть вышеупомянутый тег видео в нем, тогда видео отлично воспроизводится в IE. Если у меня есть тот же файл test.html, размещенный на моем веб-сайте, он не воспроизводится.