android - 从 Android 中的 Exoplayer 检测 Dash Manifest 中的广告板

标签 android video-streaming exoplayer live-video

我正在开发一种解决方案,用于通过 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/

相关文章:

android - 从另一个服务启动服务

ios - AV播放器 : delay when status is ReadyToPlay and first frame appearing

android - 如何 "apply fragment shader to GLSurfaceView/TextureView"?

android - 如何将字幕与exoplayer android集成

node.js - 构建聊天应用程序、NodeJS 和 Express - 我应该使用什么来进行媒体流?

android - ExoPlayer 从原始文件夹读取 mp3 文件

android - AIR 参数错误 : Error #2004: - Android

android - 如何跨多个进程测试 Android 应用程序?

android - Paypal UNAUTHORIZED_PAYMENT

ffmpeg - 如何强制 ffmpeg 更频繁地刷新覆盖图像?