从单个设备组织多个记录的正确方法是什么:AWS Kinesis video streams

What is the correct way to organize multiple recordings from a single device: AWS Kinesis video streams

从单个 Raspberry PI 类型的设备创建可搜索的视频存档的正确方法是什么?

我是否应该为每个设备创建一个流,然后每当该设备开始广播时它就会添加到该流中? 然后我会创建一个客户端,列出流中那些单独录音的时间戳?我一直在尝试这样做,但我只得到了 ListFragments 和 GetClip。两者似乎都不起作用。使用片段的用例是什么?我想获得由不同时间戳分隔的部分流。例如,如果我有一段从下午 2 点到 2:10pm 的录音,那将是一个单独的列表项,不同于下午 3 点到 3:10pm 之间的录音。

或者我应该每次广播只做一个流吗? 我会创建一个客户端来列出流,然后允许用户在流之间 select 来查看每个视频。这似乎是对平台的低效使用,如果我在几天内用同一设备录制了 5 个 10 秒的录音,它会创建 5 个单独的存档流。

我知道这里有与数据保留相关的含义,但我也不确定如果流的一部分过期但另一部分没有过期,那将如何处理。

我一直在研究文档,试图推断出与此相关的最佳实践,但没有找到任何直接的答案。

谢谢!

很难说出您的真实情况。某些应用程序使用每个设备的稀疏流并使用 ListFragments API 和其他方式来了解流中的会话。

如果您有非常稀疏的流和大量设备,这将无法正常工作。在这种情况下,一些客户实施“流租赁”机制,通过这种机制,他们的后端服务或某些集中式实体会跟踪流池并将其出租给请求者,从而有可能向池中添加新流。然后将流租用时间存储在某个地方的数据库中,以便消费者端应用程序能够执行其业务逻辑。生产者应用程序还可以使用 FragmentMetadata 概念将某些信息“嵌入”流中,该概念真正评估为将 MKV 标签输出到流中。

如果您有关于实施等的任何进一步缩小范围的问题,请毫不犹豫地削减 GitHub 针对特定 KVS 资产的问题,这将是获得答案的最快方式。