Red5 видеочат заморозить

У меня проблема с видеочатом на сервере red5. Все работает нормально, но если некоторые люди закрывают браузер, а не нажимают кнопку "Остановить чат", последний поток из их потока. Так это выглядит как замерзающий поток. Есть ли возможность убить такой поток?

1 ответ

Варианта нет, но вы можете реализовать в приложении Red5 метод, например, реализовать метод:

/**
 * Notification that a broadcasting stream is closing.
*/
@Override
public void streamBroadcastClose(IBroadcastStream stream) {
  //Notify all clients
}

Затем отправьте сообщение по протоколу RTMP всем клиентам, которых покинул пользователь, и затем вы можете отреагировать в пользовательском интерфейсе на стороне клиента и правильно удалить / зачеркнуть тот экран пользователя, который ушел.

Себастьян

Проблема с остановкой соединений, когда сеанс внезапно прерывается (закрытием браузера или потерей интернет-соединения), называется призрачными соединениями.

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

Также на клиентском сервере отсоединения следует уведомлять других клиентов, а видео пользователя должно быть скрыто (чтобы не показывать замороженный кадр).

Обнаружение призрачного соединения и удаление отключенных пользователей уже реализовано в популярных приложениях видеочата. Вы можете проверить http://www.videowhisper.com/demos/conference/ чтобы увидеть, работает ли он в описанном вами сценарии.

Вы также можете протестировать с Wowza Streaming Engine, чтобы определить, связана ли проблема с Red5.

Другие вопросы по тегам