Split stream like Instagram

luksoral

New Member
Добрый день! Возможно ли пригласить пользователя на стрим, чтобы совместный стрим могли просматривать неограниченное количество зрителей? Если да, то каким функционалом лучше пользоваться? Требуется интеграция с iOS, Android и Web. Спасибо!
 

Max

Administrator
Staff member
Добрый день,

Для совместного стрима можно использовать микширование потоков. Требуемые потоки добавляются в микшер, и зрители подписываются на поток микшера.
 

luksoral

New Member
Добрый день,

Для совместного стрима можно использовать микширование потоков. Требуемые потоки добавляются в микшер, и зрители подписываются на поток микшера.
Микширование позволяет начать стрим одному человеку и только по необходимости подключить другого? И можно ли чат (как в конференциях) использовать для данного способа?
 

Max

Administrator
Staff member
Микширование позволяет начать стрим одному человеку и только по необходимости подключить другого?
Да. Добавить стрим в микшер можно при помощи REST API
Code:
/mixer/add
{
"uri": "mixer://mixer1",
"remoteStreamName": "stream1"
}
или непосредственно при публикации потока, указав специальный символ # как разделитель между именем пользователя и именем микшера user1_stream#mixer1
И можно ли чат (как в конференциях) использовать для данного способа?
RoomApi можно использовать для обмена текстовыми сообщениями, без публикации видео, но при большом количестве зрителей желательно реализовать собственный бэкенд при помощи REST hooks. Посмотрите, пожалуйста, эту тему.
 

luksoral

New Member
Да. Добавить стрим в микшер можно при помощи REST API
Code:
/mixer/add
{
"uri": "mixer://mixer1",
"remoteStreamName": "stream1"
}
или непосредственно при публикации потока, указав специальный символ # как разделитель между именем пользователя и именем микшера user1_stream#mixer1

RoomApi можно использовать для обмена текстовыми сообщениями, без публикации видео, но при большом количестве зрителей желательно реализовать собственный бэкенд при помощи REST hooks. Посмотрите, пожалуйста, эту тему.
Спасибо за ответ! Все получилось! Остался один вопрос: можно ли в режиме зрителя, когда получаем совместный поток (от 2 участников), получить их по отдельности для отображения на устройстве, чтобы не создавать дизайн совместного канала на сервере? Или же для этого нужно просто получить 2 отдельных потока, а не совместный?
 

Max

Administrator
Staff member
Тогда надо играть два потока

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

luksoral

New Member
Тогда надо играть два потока

Первый плеер играет первый поток. Второй плеер играет второй поток.

Это будет очень сложно сделать с микшированным стримом. Поэтому, для кастомного дизайна потоки надо играть отдельно.
А есть возможность из коробки, с помощью Android SDK, подключиться на события комнаты (список участников, участник присоединился, участник вышел), при этом не присоединяясь к этой комнате, так как там есть ограничение в количестве человек, а я пытаюсь сделать реализацию со стороны зрителя, которых может быть больше 100?
 

Max

Administrator
Staff member
А есть возможность из коробки, с помощью Android SDK, подключиться на события комнаты (список участников, участник присоединился, участник вышел), при этом не присоединяясь к этой комнате, так как там есть ограничение в количестве человек, а я пытаюсь сделать реализацию со стороны зрителя, которых может быть больше 100?
Подписаться на события комнаты RoomApi, не входя в комнату, нельзя - сервер просто не узнает, кому присылать события.
Ограничение количества участников задано на уровне исходного кода примеров, для Android SDK Conference:
Code:
                            if (room.getParticipants().size() >= 3) {
                                room.leave(null);
                                runOnUiThread(
                                        new Runnable() {
                                            @Override
                                            public void run() {
                                                mJoinStatus.setText("Room is full");
                                                mJoinButton.setEnabled(true);
                                            }
                                        }
                                );
                                return;
                            }
для WebSDK Conference
Code:
    <script>var _participants = 3</script>
Если RoomApi использовать только для сигналинга, но не для публикации потоков зрителями, можно обработать до 700 участников, в зависимости от производительности сервера. При планировании бОльших нагрузок, рекомендуем реализовать собственный бэкенд
 
Top