HTML Встраивание видео не в каталоге проекта - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть приложение для вставки видео (mp4, HTML5).Подвох в том, что эти видео могут быть расположены в любом месте на сервере, где размещается мое приложение, а не только в каталоге приложения.Если бы это было так, мой код выглядел бы примерно так:

<video preload="auto" controls>
  <source src="assets/media/video.mp4" type="video/mp4">
</video>

В моей ситуации мои видео могут жить в любом месте, например C: /Users/media/video.mp4, чтовместо этого я делаю что-то вроде этого:

<video preload="auto" controls>
  <source src="C:/Users/media/video.mp4" type="video/mp4">
</video>

Проблема, с которой я сталкиваюсь, заключается в том, что Chrome (и другие браузеры, скорее всего) явно блокирует такой внешний доступ.Мой обходной путь для этого - загрузка видео на уровне сервера (сервер Tomcat), преобразование их в байтовый массив и передача его в мой HTML.Мой код Angular очищает байтовый массив и затем передает его в мой HTML.

Angular:

this.http.get(url).subscribe(data => {
  this.mediaSrc = this.sanitizer.bypassSecurityTrustResourceUrl(data);
});

HTML:

<video preload="auto" controls width="75%" height="50%">
  <source [src]="mediaSrc" type="video/mp4">
</video>

Эта стратегия иногда работает,Тем не менее, очень часто мое видео перестает работать, и не отображает в Chrome.Это случается только иногда и кажется совершенно случайным.Почти как если бы chrome не хватало памяти и / или блокировало видео, если оно ему не нравится.Однако загрузка страницы в новую вкладку полностью решает проблему.

Мой вопрос: есть ли лучший способ доставки видео с уровня сервера или есть что-то, что я могу исправить в своей текущей реализации, чтобы я нене сталкивался с проблемой, упомянутой выше?Я бы хотел больше рассказать о своей проблеме, но я действительно не могу понять, что вызывает эту проблему случайно, и только на определенной вкладке данного браузера.

1 Ответ

0 голосов
/ 27 сентября 2018

Видео не работало, было исправлено с помощью .webm видео в Chrome вместо mp4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...