Здравствуйте.

1С 8.3.22 (и ранее). Клиент-серверная, Windows, IIS, веб-клиент.

Регистр сведений, где в ресурсе с типом данных ХранилищеЗначения лежит объект Картинка.

Обработка. На форме ПолеHTMLДокумента. Текст html если убрать обязательные теги, содержит тег img

```1c
    IMG id=photo src='e1cib/data/РегистрСведений.Фотографии.Картинка?ИД=a248deca341d9fc611eae774e04f3535
```

и прекрасно выводится.

А теперь понадобилось короткое видео формата mp4 (h.264) хранить так же, и так же выводить.

Тег <video>, в него вложен <source> c параметром src - не хотят воспринимать видео по ссылке на базу 1С. Но прекрасно работают с локальным файлом.

Почему? И как заставить?
---
Если видео не очень большое, можно закодировать его в base64, а в src указать в формате dataURL.
Проверил, работает на 8.3.22.1709

Примерно так:

```1c
    ДД = ПолучитьДвоичныеДанныеФайла();
    ПерваяЧастьHTML = "<ht ml><body><video width="320" height="240" controls autoplay><source src="";
    ВтораяЧастьHTML = "" type="video/mp4">Your browser does not support the video tag.</video></body></html>";
    СтраницаHTML = СтрШаблон("%1%2%3%4", ПерваяЧастьHTML, "dat a:video/mp4;base64,", Base64строка(ДД), ВтораяЧастьHTML);
```

Где ПолучитьДвоичныеДанныеФайла() - функция, возвращающая двоичные данные из вашего регистра.

P.S. Прикрепил обработку, работающую на ЗУП 3, если видео прикрепить к физическому лицу и указать в реквизите "Владелец"
P.P.S. движок инфостарта вставляет лишние пробелы в нескольких местах, их убрать нужно.
---
Почему? Возможный ответ вам вряд ли понравится:
Ответ 3: Указание ссылки Адрес во временном хранилище у меня НЕ ЗАРАБОТАЛО.
И как заставить? Там же:
Ответ 4: Использовать временные локальные файлы на клиенте file:// вместе с ПолучитьИмяВременногоФайла - РАБОТАЕТ даже в тонком клиенте.
---
Если видео не очень большое, можно закодировать его в base64, а в src указать в формате dataURL.
Проверил, работает на 8.3.22.1709

Примерно так:

```1c
    ДД = ПолучитьДвоичныеДанныеФайла();
    ПерваяЧастьHTML = "<ht ml><body><video width="320" height="240" controls autoplay><source src="";
    ВтораяЧастьHTML = "" type="video/mp4">Your browser does not support the video tag.</video></body></html>";
    СтраницаHTML = СтрШаблон("%1%2%3%4", ПерваяЧастьHTML, "dat a:video/mp4;base64,", Base64строка(ДД), ВтораяЧастьHTML);
```

Где ПолучитьДвоичныеДанныеФайла() - функция, возвращающая двоичные данные из вашего регистра.

P.S. Прикрепил обработку, работающую на ЗУП 3, если видео прикрепить к физическому лицу и указать в реквизите "Владелец"
P.P.S. движок инфостарта вставляет лишние пробелы в нескольких местах, их убрать нужно.
---
А как заставить работать <loop> (зациклить видео). Как не пытался не работает.
---
Да, тоже более-менее стандартными средствами не получилось.
Атрибут loop не работает
Установка атрибута onEnded не работает
Установка eventListener на событие ended тоже не работает.

Единственный костыль, который у меня сработал - обработчик ожидания и проверка значений свойств duration и currentTime.
Примерно так:

```1c
    Документ = Элементы.СтраницаHTML.Документ;
    ЭлементВидео = Документ.getElementById("videoId");
    Если ЭлементВидео = Неопределено Тогда
    ПодключитьОбработчикОжидания("ПроверитьКонецВидео",0.1,Истина);
    Возврат;
    КонецЕсли;
    Если ЭлементВидео.duration > 0 И (ЭлементВидео.currentTime = ЭлементВидео.duration ИЛИ ЭлементВидео.currentTime = 0) Тогда
    ЭлементВидео.play();
    КонецЕсли;
    ПодключитьОбработчикОжидания("ПроверитьКонецВидео",0.1,Истина);
```
---
Пробывал тоже через обработчик со временем зависает, но спасибо за идею попробую ради интереса.
---
На IIS внести соответствующие настройки сайта
На сервере выгружать файл с динамическим названием в каталог сайта, чтобы его можно было скачать с веб-сервера. И передавать путь в src="https://1c.myserver.ru/videos/myguid.mp4