使用时移和实时输出创建点播视频
警告
Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南。
在 Azure 媒体服务中,实时输出对象类似于数字视频录制器,它会捕获实时流并将其记录到媒体服务帐户中的某个资产内。 记录的内容将保存到资产资源定义的容器中(该容器位于附加到你的帐户的 Azure 存储帐户中)。 使用实时输出还可以控制传出实时流的某些属性,例如,存档记录中保存的流的量(如云 DVR 的容量),以及观看者何时可以开始观看实时流。 磁盘上的存档是一个环形存档“窗口”,仅保存实时输出的 archiveWindowLength 属性中指定的内容量。 超出此窗口的内容将自动从存储容器中丢弃,且不可恢复。 archiveWindowLength 值表示一个 ISO-8601 时间跨度持续时间(例如 PTHH:MM:SS),指定 DVR 的容量。 此值的设置范围是最短 1 分钟,最长 25 小时。
实时事件与其实时输出之间的关系类似于传统的电视广播,其中的频道(实时事件)表示恒定的视频流,录制(实时输出)限定为特定的时间段(例如,下午 6:30 到 7:00 的晚间新闻)。 将流传输到实时事件后,可以通过创建资产、实时输出和流定位符来启动流事件。 实时输出会存档流,并使观看者可通过流式处理终结点使用该流。 可以使用不同的存档长度和设置针对实时事件创建多个实时输出(最多三个)。 有关实时传送视频流工作流的信息,请参阅常规步骤部分。
在发生事件期间使用 DVR
本部分介绍在发生事件期间如何使用 DVR 来控制可“后退”的流部分。
archiveWindowLength
值确定观看者可在当前直播位置中向后的多长时间继续播放。
archiveWindowLength
值还确定了客户端清单能够增加多长时间。
假设你正在流式传输一场足球比赛,其 ArchiveWindowLength
仅为 30 分钟。 开赛后 45 分钟才开始观看赛事的观看者最多可以寻轨到前 15 分钟的标记处。 比赛的实时输出会持续到实时事件停止为止。 超出 archiveWindowLength 的内容将持续从存储中丢弃,且不可恢复。 在此示例中,赛事起始位置与 15 分钟标记之间的视频将从 DVR 中清除,并且会从资产 Blob 存储中的容器内清除。 存档是不可恢复,将从 Azure Blob 存储中的容器内删除。
一个实时事件最多支持三个并发运行的实时输出(可从一个实时流最多同时创建 3 个录制文件/存档)。 此项支持可让你根据需要发布和存档事件的不同部分。 假设你需要广播全天候的直播线性源,并需要全天创建不同节目的“录制内容”,以便将其作为点播内容提供给客户,供其抽时间观看。 对于这种情况,请先创建一个主要实时输出,其存档窗口较短,为 1 小时或更短 - 这是供观看者欣赏的主要实时流。 可以为此实时输出创建一个流定位符,然后将其作为“实时”源发布到应用或网站。 当实时事件处于运行状态时,可以在节目开始时通过编程方式创建另一个并发实时输出(也可提前 5 分钟这样做,以便提供一些可供以后剪裁的控点)。 在结束节目 5 分钟之后,可以删除第二个实时输出。 使用第二个资产可以创建新的流定位符,以便在应用的目录中将此节目发布为点播资产。 可以针对需要作为点播视频共享的其他节目边界或突出显示内容多次重复此过程,同时第一个实时输出提供的“实时”源可以继续广播线性源。
使用 rewindWindowLength
还可以使用实时输出的 rewindWindowLength
属性来控制观看者在实时事件期间可以向后搜寻的时间长短。 该设置还有助于减少在实时传送视频流期间通过网络传递给客户端的清单大小。 它可以带来更高效的实时传送视频流体验并减少客户端上的内存使用量。 实时输出停止后,存档视频将使用上述原始存档窗口长度。
流完成后,你可以访问由实时输出的 archiveWindowLength 属性定义的资产中的存档文件。 这样,便可以设置一个与播放器中可见的先前“DVR 滑动窗口”持续时间不同的存档持续时间。
如果你想在播放器中使用极小的时移窗口进行流式传输,但又想要将整个实时事件存档到输出资产,此设置非常有用。
可将 rewindWindowLength 设置为最小值 60 秒。
如果使用 LowLatencyV2 创建实时事件,则默认值为 30 分钟。
对实时输出发送请求时,请在属性中包含 rewindWindowLength。 在以下 REST 示例中,PT1H30M 用于指示 1 小时 30 分钟的后退窗口长度。
{
"properties": {
"description": "test live output 1",
"assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
"archiveWindowLength": "PT5M",
"rewindWindowLength": "PT1H30M",
"manifestName": "testmanifest",
"hls": {
"fragmentsPerTsSegment": 5
}
}
为点播创建存档
删除实时输出时,实时输出资产会自动变成按需资产。 必须先删除所有实时输出,然后才能停止实时事件。 (可以使用可选标志 removeOutputsOnStop 在停止时自动删除实时输出。)只要你不删除资产,用户就可以按需流式传输你的存档内容。
注意
删除实时输出不会删除基础资产和该资产中的内容。
如果已使用流定位符发布了实时输出的资产,则实时事件(最长为 DVR 窗口长度)将继续可见,直到流定位符过期或被删除(以先发生者为准)。
有关详细信息,请参阅:
获得帮助和支持
如果有任何疑问,可以联系媒体服务,或者使用以下方法之一关注我们的更新:
- 问答
-
Stack Overflow。 使用
azure-media-services
标记问题。 - @MSFTAzureMedia 或使用 @AzureSupport 请求支持。
- 通过 Azure 门户提交支持票证。