Видео MP4 не воспроизводится на iPhone, но воспроизводится на настольном компьютере и Android - PullRequest
0 голосов
/ 01 октября 2019

Кто-нибудь сталкивался с этой проблемой?

Видео, загруженные на веб-сайт ASP.NET MVC5 из браузера на ПК с Windows или с телефона Android, прекрасно воспроизводятся в любом браузере на Android и даже на Windows Mobile, но не отображаются на iPhone.

Код галереи выглядит примерно так:

<div id="link_@fileViewModel.ID" class="row gallery-media-file">
<a href="@Url.Action("GetVideoFile", "File", new {id = fileViewModel.ID})" type="video/mp4" title="@videoViewModel.Title" class="m-0">
    <video class="img-responsive">
        <source src="@Url.Action("GetVideoFile", "File", new {id = fileViewModel.ID})" type="video/mp4" />
    </video>
</a>

Сервер IIS8, на котором установлен кэш маршрутизации запросов приложений для обработки размера сегмента диапазона байтов.

Видеохранится в внутренней базе данных и обслуживается следующим действием:

public void GetVideoFile(Guid id)
{
    var file = _fileProcessor.Get(id);
    Response.ContentType = file.MimeType;
    Response.BinaryWrite(file.Data);
}

Любые идеи ... Я в тупике?

РЕДАКТИРОВАТЬ:

Файлы загружаются с использованиемDropzone.js -> https://www.dropzonejs.com/

EDIT2:

Я также использую галерею blueimp для отображения файлов, но, оказывается, удаляю атрибут:

type="video/mp4"

из тега привязки позволяет воспроизводить видео на iPhone.

К сожалению, оно не показывает стоп-кадр видео, а также воспроизводит без звука. Кроме того, когда атрибут type удаляется из тега привязки, он перестает воспроизводиться в галерее на рабочем столе и Android.

В конечном счете, мне может потребоваться условно отобразить HTML в соответствии с клиентом, но с объемом и видеоизображениемзахват по-прежнему является проблемой.

Следующее помогло, но все равно не радует: HTML5-видео тег не работает в Safari, iPhone и iPad

...