如何知道 MPEG DASH 中的实时流媒体何时结束?

Posted

技术标签:

【中文标题】如何知道 MPEG DASH 中的实时流媒体何时结束?【英文标题】:How to know when a Live Streaming has ended in MPEG DASH? 【发布时间】:2019-09-30 20:40:20 【问题描述】:

我正在为 MPEG DASH 做一个播放器,在阅读了ISO 之后,我不确定如何知道直播是否结束?

到目前为止,我使用 (SegmentTemplate + Representation) 组合基于 BaseURLs 构建 URL,并且我可以从 SegmentTimeline 下载段,但是有一个简单的属性可以检查为:

了解我应该多久更新一次 MPD 知道我应该验证哪些属性/公式才能停止流式传输?

除非它坏了,否则我不能下载。不是吗?

【问题讨论】:

【参考方案1】:

DASH-IF Interoperability Points 文档中有一段:

5.2.9.5.3。直播内容结束

实时服务可以达到不再产生内容的地步 - 现有内容将由客户端播放,一旦播放结束,播放将停止。

本文件要求:

发生这种情况时,服务应为最后一次定义一个固定的持续时间 期间,删除 MPD@minimumUpdatePeriod 属性并停止 执行 MPD 更新以表示不再添加内容 MPD。 此时或以后,MPD@type 可能会更改为 static 如果要将服务转换为静态 MPD 以进行点播 观看。

另见讨论here。

【讨论】:

以上是关于如何知道 MPEG DASH 中的实时流媒体何时结束?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MPEG-DASH 流式传输实时视频? [关闭]

为 android 模拟 MPEG-DASH

从开始的 mpeg-dash 实时流延迟

支持 MPEG-DASH 的媒体播放器 [关闭]

MPEG DASH 中的定时元数据?

通过 HTTP (MPEG-DASH) 进行流式传输有啥意义?