Показ видео в ПолеHTMLДокумента

1. aapetrikov 05.11.24 21:36 Сейчас в теме
Всем привет!

Возникла необходимость показывать пользователю видео (наример из youtube) внутри 1С.
При реализации через iframe в ПолеHTMLДокумента видео добаляется, но при попытке вопспроизведения ничего не происходит (висит на бесконечной загрузке)

Подскажите, пожалуйста, какие еще есть варинты реализации? или мб как то можно победить и транслировать с youtube?

Заранее всем благодарен!
По теме из базы знаний
Найденные решения
10. aapetrikov 08.11.24 12:47 Сейчас в теме
2 варианта решения:

1 вариант - опубликовать видео, например на IIS, чтобы оно было доступно по ссылкке вида - https://domain.com/test.mp4 и использовать эту ссылку в src в <video>

<!DO CTYPE html>
<ht ml>
<head>
<st yle type="text/css">
</style>
</head>
<body>
<video src = "https://domain.com/test.mp4" type="video/mp4"  width="480" controls />
</body>
</html>
Показать


2 вариант, использовать JS, если, например, нужно стримить видео с гуглдрайв с авторизацией

<ht ml>
<body>
<video  width="480" controls
  <source id = "video"  type="video/mp4" />
</video>

<sc ript>
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://www.googleapis.com/drive/v3/files/<id_video_googledrive>?alt=media");
xhr.setRequestHeader("Authorization","Bearer <token>");

xhr.responseType = 'blob';

xhr.on load = function(e) {
  if (this.status == 200) {
	var blob = this.response;
	const video = document.getElementById("video");
	var reader = new FileReader();
	
	reader.readAsDataURL(blob); // конвертирует Blob в base64 и вызывает onload
	reader.on load = function() {
		video.src = reader.result;
	}
  }
};
	
xhr.send();
</sc ript>
</body>
</html>
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 35 05.11.24 22:52 Сейчас в теме
(1) Видео с youtube и в браузере так может висеть на загрузке))
Тут так то не в 1С проблема может быть...
3. user-z99999 71 06.11.24 10:23 Сейчас в теме
(1) В браузере просматривается?
5. aapetrikov 06.11.24 10:49 Сейчас в теме
(3) да, в браузере просматривается.
"бесконечная загрузка" висит только при вызвое из поля HTML из 1С
4. starik-2005 3087 06.11.24 10:42 Сейчас в теме
Если вы используете последнюю версию html5, вам следует использовать этот код. HTML5 может предложить несколько новых тегов, одним из которых является тег Video.

<ht ml>
    <body>
       <video width=auto height=auto controls>
         <source src="https://www.youtube.com/embed/W7qWa52k-nE" type="video/mp4">
        </video>
    </body>
</html>
user-z99999; +1 Ответить
6. aapetrikov 06.11.24 11:20 Сейчас в теме
(4) у вас работает данный вариант?
у меня работает только когда в src передаешь двоичные данные, но видео слишком большие для этого варианта
когда в src передаешь ссылку на youtube, ситуация аналогичная, висит на бесконечной загрузке
7. starik-2005 3087 06.11.24 13:46 Сейчас в теме
(6)
висит на бесконечной загрузке
Я ютуб не смотрю, т.к. он открывается, но видосы не кажет под моим ростелекомом. Мои полтора блогера на рутубе ща постят раньше, чем на ютубе. Одна только нехорошая там тема - нет воспроизведения видео в очереди. По крайней мере я не в курсе, как это сделать. А то я на ютубах раньше книжки слушал. Так добавишь в список воспроизведения пять книжек и идешь чай пить и конфеты есть. А ща приходится к компу возвращаться.
8. user2107191 06.11.24 13:48 Сейчас в теме
(6)
когда в src передаешь ссылку на youtube, ситуация аналогичная, висит на бесконечной загрузке
ну поставь VPN, раз ты не в курсе того, что ютуб в россии работает только на мобилках.
9. aapetrikov 06.11.24 15:09 Сейчас в теме
(8) не зависит от видеохостинга, например, с rutube аналогичная ситуация
10. aapetrikov 08.11.24 12:47 Сейчас в теме
2 варианта решения:

1 вариант - опубликовать видео, например на IIS, чтобы оно было доступно по ссылкке вида - https://domain.com/test.mp4 и использовать эту ссылку в src в <video>

<!DO CTYPE html>
<ht ml>
<head>
<st yle type="text/css">
</style>
</head>
<body>
<video src = "https://domain.com/test.mp4" type="video/mp4"  width="480" controls />
</body>
</html>
Показать


2 вариант, использовать JS, если, например, нужно стримить видео с гуглдрайв с авторизацией

<ht ml>
<body>
<video  width="480" controls
  <source id = "video"  type="video/mp4" />
</video>

<sc ript>
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://www.googleapis.com/drive/v3/files/<id_video_googledrive>?alt=media");
xhr.setRequestHeader("Authorization","Bearer <token>");

xhr.responseType = 'blob';

xhr.on load = function(e) {
  if (this.status == 200) {
	var blob = this.response;
	const video = document.getElementById("video");
	var reader = new FileReader();
	
	reader.readAsDataURL(blob); // конвертирует Blob в base64 и вызывает onload
	reader.on load = function() {
		video.src = reader.result;
	}
  }
};
	
xhr.send();
</sc ript>
</body>
</html>
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот