0

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

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

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

我意识到这里存在与数据保留相关的影响,但我也不确定如果流的一部分过期但另一部分没有过期,这将如何发挥作用。

我一直在挖掘文档以尝试推断与此相关的最佳实践,但没有找到任何直接回答它的东西。

谢谢!

4

1 回答 1

0

很难说出你的场景到底是什么。一些应用程序在每个设备上使用稀疏填充的流,并使用 ListFragments API 和其他方法来了解流中的会话。

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

如果您对实现等有任何进一步缩小的问题,请不要犹豫,针对特定的 KVS 资产削减 GitHub 问题,这将是获得答案的最快方法。

于 2020-11-08T06:57:52.493 回答