Соберите минуты сеанса сеанса Tokbox

У меня есть требование собрать общее количество минут потоковой передачи для всех сеансов tokbox за последний месяц. В основном что-то похожее на отчет о выставлении счетов, который предоставляет tokbox. Мне это не нужно "вживую", допустима задержка в минуты или даже часы.

Похоже, у инспектора нет API, и в настоящее время мы не архивируем сеансы.

Моя текущая идея состоит в том, чтобы использовать события Session Monitoring и собирать все Stream Destroyed события. Затем я бы сохранил их где-нибудь и использовал timestamp - stream.createdAt в качестве продолжительности каждого потока.

На первый взгляд он кажется немного хрупким — я не хочу сообщать неправильные цифры или что-то упускать. Я на правильном пути или есть более простое/лучшее решение?

{
    "sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
    "projectId": "123456",
    "event": "streamDestroyed",
    "reason": "clientDisconnected",
    "timestamp": 1470258896953,
    "stream": {
        "id": "63245362-e00e-4834-8371-9397deb3e452",
        "connection": {
            "id": "c053fcc8-c681-41d5-8ec2-7a9e1434a21e",
            "createdAt": 1470257688143,
            "data": ""
        },
        "createdAt": 1470258845416,
        "name": "",
        "videoType": "camera"
    }
}

person Alex AIT    schedule 25.06.2019    source источник


Ответы (2)


Служба поддержки TokBox подтвердила, что это правильный путь и что события Session Monitoring достаточно надежны. Итак, мы продолжим идею использования событий StreamDestroyed.

К сожалению, это не эквивалентно подписанным минутам. Вычисление их должно быть возможным с использованием событий, но может стать довольно сложным.


{
    "sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
    "projectId": "123456",
    "event": "streamDestroyed",
    "reason": "clientDisconnected",
    "timestamp": 1470258896953,
    "stream": {
        "id": "63245362-e00e-4834-8371-9397deb3e452",
        "connection": {
            "id": "c053fcc8-c681-41d5-8ec2-7a9e1434a21e",
            "createdAt": 1470257688143,
            "data": ""
        },
        "createdAt": 1470258845416,
        "name": "",
        "videoType": "camera"
    }
}

person Alex AIT    schedule 26.06.2019

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

person Tadej Krevh    schedule 01.04.2020