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 не равен новому подключенному проигрывателю в целом.

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