Фон бэкграунда для публиукемого потока.

Ilya K.

Member
Здравствуйте. Скажите, пожалуйста, есть ли возможность указать фон в виде статичного изображения при отсутствии видеопотока? Имеются ввиду исходные публикуемые потоки. Если нет, то есть ли в планах такой функционал?
 

Max

Administrator
Staff member
Добрый день.
Здравствуйте. Скажите, пожалуйста, есть ли возможность указать фон в виде статичного изображения при отсутствии видеопотока? Имеются ввиду исходные публикуемые потоки. Если нет, то есть ли в планах такой функционал?
Уточните, пожалуйста, что имеется в виду?
Если речь о потоках, добавляемых в микшер, то, если в микшер добавляется поток без видео составляющей, микшер не обрабатывает видео для такого потока. Есть только возможность отрисовать для него прямоугольник (опционально, с выводом имени потока), заполненный цветом фона, который используется в качестве фона подписей
Code:
mixer_text_background_colour=0x006666
Если речь о том, чтобы разместить в микшере картинку заранее, до добавления потока, то такого функционала нет. Как вариант, можно стримить статичную картинку с канваса и добавлять к ней аудио с микрофона. Еще один вариант - стримить с отключенным видео Stream.muteVideo(), чтобы браузер отправлял темноту, и добавлять к темноте нужный бэкграунд на стороне микшера.
 

Ilya K.

Member
и добавлять к темноте нужный бэкграунд на стороне микшера.
Правильно понимаю, что в этом случае для каждого потока, добавленного в микшер, будет один и тот же бэкграунд?
 

Ilya K.

Member
В идеале хотели бы сделать таким образом, чтобы добавлялся определенный фон в зависимости от имени потока, который добавляется в микшер. Предпочтительнее второй вариант, без отрисовки в Canvas - "Еще один вариант - стримить с отключенным видео Stream.muteVideo(), чтобы браузер отправлял темноту, и добавлять к темноте нужный бэкграунд на стороне микшера."
 

Max

Administrator
Staff member
В кастомном лэйауте на языке разметки можно добавить изображение к отдельному потоку. Также можно задать шаблон имени в этом случае:
XML:
<body>
  <row height="80%" align="CENTER">
    <video watermark="image.png" width="50%" align="INLINE_HORIZONTAL_CENTER">5996.*</video>
    <video width="50%" align="INLINE_HORIZONTAL_CENTER"/>
  </row>
</body>
 

Ilya K.

Member
Спасибо за информацию. Немного расскажу про сценарий использования. Для каждого потока сейчас в canvas отрисовывается подпись. В случае, если видео выключено-накладывается аватар, также в canvas. Эти потоки потом добавляются в микшер. На нашем бэке мы можем генерировать изображения для новых пользователей (подпись, аватар), чтобы потом теоретически подкладывать в файлы *mix. Получается, проблема в том, что файлы описания подойдут для статичного использования, когда определились с изображениями, но сложно использовать в условиях, когда мы не знаем, потоки каких именно пользователей будут добавлены в тот или иной микшер. Возможно, есть вариант перед непосредственно созданием микшера, либо перед добавлением в него нового потока, генерировать файлы *.mix, *.desktopmix, но тогда может быть другая проблема - микшеров может быть несколько, к остальным желаемая конфигурация не применится.
Можете что-то посоветовать для такого сценария?
 

Max

Administrator
Staff member
Возможно, есть вариант перед непосредственно созданием микшера, либо перед добавлением в него нового потока, генерировать файлы *.mix, *.desktopmix, но тогда может быть другая проблема - микшеров может быть несколько, к остальным желаемая конфигурация не применится.
Можете что-то посоветовать для такого сценария?
Вы можете генерировать набор шаблонов для каждого микшера. Шаблон можно задать при создании микшера:
Code:
POST /rest-api/mixer/startup HTTP/1.1
HOST: localhost:8081
content-type: application/json
 
{
    "uri": "mixer://mixer1",
    "localStreamName": "mixer1_stream",
    "hasVideo": true,
    "hasAudio": true,
    "mixerLayoutDir": "/opt/mixer1-layout"
}
 

Ilya K.

Member
Получается, перед добавлением потока нового участника, микшер нужно пересоздавать?
 

Max

Administrator
Staff member
Получается, перед добавлением потока нового участника, микшер нужно пересоздавать?
Нет. Нужно сгенерировать набор *.mix и *.desktopmix описателей для этого микшера на нужные количества участников, а затем создать микшер. В имени входящего потока у Вас всегда есть статичная часть, соответствующая имени микшера, значит, для потоков участников можно использовать шаблоны имен.
Кроме того, файлы описаний на определенное количество участников *.mix и *.desktopmix допускается менять на ходу, если это количество в данный момент не используется. Т.е., пока в микшере один участник, вы можете поменять шаблон на два участника, и т.д.
Для управления подписями Вы можете использовать встроенные средства микшера.
 
Top