opentok - OpenTok TokBox:当第一个连接的用户发布时,如何自动启动会话的实时流 (rtmp) 广播?
问题描述
我在 github 上看到了示例应用程序。有一个明确的“开始广播”按钮,它听起来像(开始广播 rtmp)。
我不想有一个明确的按钮。我想在会话中的第一个用户发布他或她的相机时开始广播。因此,如果有 5 个用户连接到会话,则在他们中的第一个发布流时调用广播,而不是在其他任何人发布流时调用。
我可以查询会话并知道它当前是否正在直播吗?这里的最佳做法是什么?谢谢。
解决方案
TokBox 开发者布道者在这里。
您无法查询Session中活动流的数量,您必须在分派事件时自行存储该信息。有关更多详细信息,请参阅此 SO 答案:#OpenTok 如何在会话中枚举流?
至于广播,您可以在第一个人开始发布时以编程方式开始广播,而不是使用可视组件来触发呼叫。例如,在客户端,您可以侦听streamCreated
事件,然后向您的应用程序服务器发送请求以开始广播。然后,您的应用程序服务器必须通过服务器 SDK或使用REST APIstartBroadcast
调用 OpenTok 。
或者,您可以使用Session Monitoring通过 webhook监听服务器上的Stream和Connection事件,以开始广播。
要了解有关 OpenTok 广播如何工作的更多信息,我建议查看以下资源:
推荐阅读
- c# - 如何使用 XPath 查询选择 XML 节点
- c# - 无法以编程方式从应用程序打开 App Store
- python - Python程序在给定的字符串中放置正确的标点符号
- mysql - 如何选择过去 30 天的数据并包含空行
- html - HTML
- css - 从 scss 文件转换为 css 文件时,如何避免将任何特定的 scss 文件转换为 css?
- string - Kotlin String.split,当分隔符在引号内时忽略
- php - 如何在 laravel 5.6 中编辑 pdf 文件。如果未编辑或另一个选定的文件保存相同的文件?
- blockchain - 如何使用去中心化应用程序将数据存储在以太坊上
- c# - 我们可以将 .snk 文件用于 c++ dll 吗?