首页 > 解决方案 > 如何确保直播结束后停止直播?

问题描述

客户......必须爱他们:)

我构建了一个在 Azure 媒体服务中启动实时流的 Web 进程,但在测试中我已经看到几次最终用户只是关闭浏览器而不是单击结束广播按钮,我已经很好地设置了他们。

那么问题就很明显了,流继续运行。将其乘以几次,我现在有许多直播流,但我正在承担费用。

门户中的配置(甚至在流配置中: client.LiveEvents.CreateAsync(....) )中是否有任何内容可以停止这些服务,即使它们关闭了浏览器?

标签: azure-media-services

解决方案


有几种方法可以解决这个问题。

  1. 如果用户正在关闭浏览器,您的 Web 应用程序应提示用户是否要结束广播。这是您的 Web 应用程序可以处理的浏览器事件。

  2. 在服务器端,您可以通过订阅 eventgrid 事件来监控实时事件。2种方法也可以做到这一点。请参阅eventgrid 事件模式的文档以了解有关它们的更多信息。

您可以订阅流级别“Microsoft.Media.LiveEventEncoderDisconnected”并监视一段时间内没有重新连接以停止并删除您的实时事件。

或者您可以订阅轨道级别的心跳事件。如果所有轨道的输入比特率下降到 0;或者最后一个时间戳不再增加,那么您也可以安全地关闭直播活动。每个音轨的心跳事件每 20 秒出现一次,因此可能有点冗长。

要了解有关如何订阅 eventgrid 事件的更多信息,您可以在此处阅读此文档


推荐阅读