Wowza - onHTTPCupertinoStreamingSessionCreate вызывается несколько раз
Я пытаюсь ограничить количество потоков для каждого пользователя, и моя идея заключалась в том, чтобы хранить информацию о потоке видео пользователя или нет в базе данных. Затем, когда сеанс будет создан, я проверю базу данных и утвердлю / отклоню поток.
Моя проблема в том, что onHTTPCupertinoStreamingSessionCreate запускается несколько раз. Я понятия не имею, почему или как это вообще возможно. Это моя логика вкратце:
public void onHTTPCupertinoStreamingSessionCreate(HTTPStreamerSessionCupertino httpSession) {
if( alreadyStreaming( userID ) ){
httpSession.rejectSession();
return;
}
else{
setStreamActiveInDB( userID, true);
}
}
public void onHTTPCupertinoStreamingSessionDestroy(HTTPStreamerSessionCupertino httpSession) {
setStreamActiveInDB( userID, false );
}
Любая идея о том, как проверить, почему это событие запускается несколько раз, или другая идея, как ограничить количество потоков на пользователя?
1 ответ
Я также столкнулся с этой проблемой, и один конкретный сценарий состоял в том, что потоковая ссылка HTTP была в мобильном браузере. Пользователь нажимает на ссылку, браузер не знает тип контента, поэтому он подключается, что вызывает новый сеанс HTTP и, следовательно, вызов onHTTPCupertinoStreamingSessionCreate
, Затем браузер получает ответ и понимает, что это видео, поэтому он запускает плеер. Проигрыватель запрашивает манифест, то есть второй сеанс HTTP. Я видел, что третий сеанс запускается, когда проигрыватель начинает загрузку фрагментов видео. Затем первые 2 сеанса в конце концов умирают, а третий выживает. Мне приходилось делать разные трюки, чтобы соединить эти сеансы и учесть их как один сеанс. Я надеюсь, что это дает вам представление, почему это происходит. Таким образом, новый сеанс HTTP не равен новому подключенному проигрывателю в целом.