Implement background clip functionality for bumpers
ci / build-backend (push) Successful in 2m14s
ci / build-frontend (push) Successful in 49s
ci / tests (push) Successful in 2m7s
ci / sonar (push) Successful in 7m39s

Enhanced the bumper system to support a new background type, 'Clip', allowing text to be overlaid on existing video clips. This update includes the addition of a BackgroundClipShowId property in various records and classes, ensuring that the clip's duration dictates the bumper length. Updated validation rules, mapping, and rendering logic to accommodate this new feature. Localization strings were also updated to reflect the new background option and its implications for audio handling.
This commit is contained in:
Leonid Pershin
2026-07-29 23:54:11 +03:00
parent 35cb4b09dc
commit 6be373476c
26 changed files with 1798 additions and 24 deletions
+13
View File
@@ -601,6 +601,19 @@ BumperLine
Источник фона становится явным полем подблока. Раньше постер шоу подставлялся молча и только
в режиме `NowNext`; при свободных строках такой связи взяться неоткуда.
**Фон из готового ролика** (`background = clip`, `backgroundClipShowId`) — текст пишется поверх
видео из библиотеки, а не поверх картинки. Отличается от прочих источников тем, что задаёт время:
- **длину заставки диктует ролик**, а не джингл блока. Подрезать чужую заставку под музыку значило бы
обрывать её на полуслове. Выравнивание по сегменту остаётся, хвост добирается стоп-кадром —
повтор первых секунд в конце заметнее любой заморозки;
- **звук**: назначен джингл — звучит он, подрезанный под ролик; не назначен — играет оригинальная
дорожка ролика. Синтезированный писк под чужую заставку не подкладывается;
- в сигнатуру кэша входит **ассет** ролика, а не шоу: перезалив файла обязан дать новый рендер.
В подблоке при этом хранится ссылка на шоу — перезалив не должен рвать настройку;
- ролик не готов или удалён — подблок молча отрабатывает по фону блока: ронять заставку, которая
уже стоит в ленте, нельзя.
**Плейсхолдеры** подставляются в момент планирования — там уже известны канал, пара соседей
и точное время врезки: