我正在开发一种解决方案,用于通过 SSAI 检测直播内容中的广告牌。
到目前为止,我们已经能够在 HLSManifest 中检测到广告板。
但是,当涉及到 DashManifest 时,我没有看到任何相关的对象或信息。
我看到EventStream
负责广告展示
我正在使用 onTimelineChanged
来读取 list 更改
override fun onTimelineChanged(timeline: Timeline, reason: Int) {
super.onTimelineChanged(timeline, reason)
val manifest: Any? = exoPlayer.currentManifest
if (manifest is HlsManifest) readHLSManifest(manifest)
else if (manifest is DashManifest) readDASHManifest(manifest)
}
无法确定我可以使用什么来检测来自 Dash 的广告板。 可能吗?
最佳答案
这个问题来得太晚了,但是对于任何偶然发现它的人来说:
您说得对,它需要 EventStream
。一个例子是:
<EventStream
schemeIdUri="urn:scte:scte35:2013:bin"
timescale="1">
<Event
presentationTime="1525119000"
duration="60"
id="55"
messageData="/DAhAAAAAAAAAP/wEAUAAAA3f+9/fgBSZcAAAAAAAAAmObEZ"/>
</EventStream>
其中 messageData
是 base64 编码的消息。
引用自this文章。
关于android - 从 Android 中的 Exoplayer 检测 Dash Manifest 中的广告板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70769162/