HTML-тег видео не воспроизводится в Safari в моем приложении Angular - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь воспроизвести видео в своем угловом приложении, и оно работает во всех браузерах, кроме Safari:

<video controls autoplay muted class="media">
    <source src="https://my-site/files/video.mp4" type="video/mp4" />
</video>

Я видел следующие вопросы: Тег HTML5 Video не работаетв Safari, iPhone и iPad , и это не решает мою проблему.

Сначала у меня была проблема с диапазоном байтов, я исправил ее, и она все еще не работает.

Если я добавлю тег видео на пустую html-страницу, видео будет воспроизводиться, но в моем угловом приложении оно все равно не будет.

Я использовал fiddler, чтобы получить следы http, и естьРазличия, которые я не понимаю.

Когда у меня есть тег на пустой веб-странице, у меня следующий запрос:

GET https://my-site/files/video.mp4 HTTP/1.1
Host: (my-site)
Accept-Encoding: identity
X-Playback-Session-Id: 14692D0E-A88B-4253-8B8A-BC580AB82174
Accept-Language: fr-fr
Range: bytes=0-1
Accept: */*
User-Agent: Mozilla/5.0 (iPod touch; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
Referer: (http://my-site/)
DNT: 1
Connection: keep-alive

Я вижу несколько запросов с разными диапазонами, иВоспроизведение видео.

Но когда я пытаюсь воспроизвести видео из моего приложения Angular, запрос меняется:

GET https://my-site/files/video.mp4 HTTP/1.1
Host: (my-site)
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (iPod touch; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
Accept-Language: fr-fr
Referer: (http://my-site/)
Accept-Encoding: br, gzip, deflate

На этот раз заголовок диапазона отсутствует, поэтому мой сервер отправляет всефайл.И это не играет.

Я понятия не имею, что может вызвать эту разницу.URL-адрес видео одинаков (хотя веб-страница html находится в другом домене).

...