收集 Tokbox 会话的会话分钟数
Gather session minutes of a Tokbox session
我需要收集上个月所有 tokbox 会话的流式传输总分钟数。基本上类似于 tokbox 提供的计费报告。我不需要它"live",延迟几分钟甚至几个小时都可以接受。
检查员似乎没有 API,我们目前没有存档会话。
我目前的想法是使用 Session Monitoring 事件并收集所有 Stream Destroyed
事件。然后我会将它们存储在某个地方并使用 timestamp - stream.createdAt
作为每个流的持续时间。
乍一看感觉有点脆-我不想报错数字或漏掉什么。我走在正确的轨道上还是有 easier/better 解决方案?
{
"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"
}
}
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"
}
}
正确的方法是同时收集流和连接事件。
然后您可以计算每个连接的持续时间,并将这些持续时间汇总为每个会话的流媒体分钟数。
我需要收集上个月所有 tokbox 会话的流式传输总分钟数。基本上类似于 tokbox 提供的计费报告。我不需要它"live",延迟几分钟甚至几个小时都可以接受。
检查员似乎没有 API,我们目前没有存档会话。
我目前的想法是使用 Session Monitoring 事件并收集所有 Stream Destroyed
事件。然后我会将它们存储在某个地方并使用 timestamp - stream.createdAt
作为每个流的持续时间。
乍一看感觉有点脆-我不想报错数字或漏掉什么。我走在正确的轨道上还是有 easier/better 解决方案?
{
"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"
}
}
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"
}
}
正确的方法是同时收集流和连接事件。 然后您可以计算每个连接的持续时间,并将这些持续时间汇总为每个会话的流媒体分钟数。