Наложение логотипа¶
media.transcode.logo
Транскодер Sapsan перекодирует входной поток: меняет кодеки, битрейт, разрешение и готовит мультибитрейтную лесенку (MBR) из одного источника.
Логотип поверх видео¶
Транскодер накладывает картинку-логотип на видеоряд — логотип канала в углу кадра или водяной знак. Логотип «вшит» в видеодорожку: его видно на любом устройстве и в архивной записи. Секция logo живёт в параметрах видеоступени и применяется к готовому кадру каждой ступени отдельно — после масштабирования и полей fit, поэтому пиксельный размер картинки не зависит от разрешения выхода.
В кластере под управлением central основной способ передачи картинки — библиотека логотипов. Загрузите картинку один раз в консоли central и выберите её в карточке логотипа лестницы. Central хранит картинку, а конфиг стрима содержит image: logo@<sha256>. Sapsan скачивает недостающие картинки по авторизованному каналу синхронизации с central, проверяет SHA-256 и сохраняет их в локальном кэше. Копировать файл на каждый стример не требуется.
При настройке через API отправьте JSON с полями name и bytes (байты картинки в стандартной base64) запросом POST /central/api-v4/logos с авторизацией management API. Ответ содержит key и created; запишите в logo.image строку logo@ с полученным ключом. GET /central/api-v4/logos возвращает список записей, а GET /central/api-v4/logos/{key} — запись с байтами картинки в base64 для предпросмотра. Путь к локальному файлу и HTTP(S) URL остаются альтернативами, в том числе для отдельного Sapsan без central.
В примере замените <sha256> ключом, который вернул central.
streams:
- name: tv1
inputs:
- udp: {host: 239.0.0.1, port: 5000}
transcoder:
output:
- source: !content video # 1080p — верх лесенки
codec: !set h264
bitrate: 2800000
params: !video
logo:
image: logo@<sha256>
position: top_right
x: 24
y: 16
height: 72
- source: !content video # 720p
codec: !set h264
bitrate: 1200000
params: !video
resize: !fit
height: 720
logo:
image: logo@<sha256>
position: top_right
x: 16
y: 10
height: 48
| Поле | Что задает |
|---|---|
image |
адрес картинки: путь на стримере, http(s)-URL или ссылка на запись библиотеки логотипов logo@<sha256> |
position |
опорная точка на кадре — одна из пяти, обязательна |
x, y |
отступы в пикселях от опорной точки, по умолчанию 0 |
width, height |
размер картинки в пикселях выходного кадра ступени |
Опорные точки: top_left, top_right, bottom_left, bottom_right, center. Отступы отсчитываются от опорной точки внутрь кадра: у угловых — от соответствующего угла, у center — сдвиг от центра.
Размер задается пикселями выходного кадра ступени. Заданы оба поля — картинка приводится к ним; задано одно — второе выводится из пропорций картинки, искажения нет; не задано ни одного — картинка берется в нативном размере. Чтобы логотип занимал одинаковую долю кадра на всей лестнице, размеры ступеней считают по их высоте: в примере выше 72 px на 1080p и 48 px на 720p — это одна и та же доля кадра. Ступени без секции logo остаются как были.
Требования к картинке:
- Формат — PNG или JPEG по сигнатуре байтов. PNG с альфа-каналом сохраняет прозрачность: прозрачные пиксели кадр не трогают, полупрозрачные смешиваются с ним.
- Пределы — не больше 1 МБ байтов и не больше 4096 пикселей по стороне.
- URL скачивается при настройке ступени, таймаут — 10 секунд.
- Одна и та же картинка на нескольких ступенях загружается и декодируется один раз.
Ограничения:
- Логотип накладывается только на кодируемый выход: ступень с
codec: sameи сырые вещательные кодеки (j2k,v210,uyvy422) его не поддерживают — такая секция отклоняется при записи. widthиheight— положительные целые не больше 4096; ноль и превышение отклоняются при записи с указанием поля.- Картинка читается при сборке ступени, а не на каждом кадре: смена адреса, якоря или отступов — обычная правка конфигурации, ступень пересобирается, стрим не прерывается.
Битый логотип — ошибка ступени
Если картинку не удалось загрузить или декодировать — файла нет, URL не отвечает, превышен предел, байты не читаются, — ступень не собирается: в состоянии выхода и в журнале видна именованная ошибка, остальные ступени и сам стрим продолжают работать. Молча отдавать поток без логотипа транскодер не станет. Восстановление — правка адреса картинки: новая конфигурация собирает ступень заново без перезапуска процесса.
Ссылка logo@<sha256> — это запись библиотеки логотипов central: стример скачивает картинку при применении среза конфигурации и передает транскодеру готовый файл. В одиночном контуре (без central) такая ссылка дает именованную ошибку ступени — там работают путь на стримере и http(s)-URL. В консоли central логотип на лестницу ставится карточкой Логотип лестницы (Наложение логотипа).