Home 技术文章 为服务器端广告插入提供更好的透明度和故障排除(SSAI)
Applications

为服务器端广告插入提供更好的透明度和故障排除(SSAI)

About The Author

Outline

改进OTT广告来源,播放和验证

OTT是广播公司和内容创建者超越线性电视体验的绝佳机会,可 根据每位观众的兴趣个性化视频流 。 这种高水平的个性化也是吸引OTT流广告收入的关键因素,因为它能够以优质CPM费率交付具有高度针对性的广告。

但是,广告来源,播放和验证挑战阻碍了这一机会。 围绕OTT广告的许多标准尚处于萌芽状态,仍在不断发展。 此外,围绕服务质量(QoS)进行的深入调试和分析往往受到限制。 了解用户体验质量(QoE)也很重要,例如广告是否以一致的音量水平播放。

考虑到这些挑战以及我们持续致力于改进扩展和减少延迟,我们开发了一种专用的AD代理服务作为我们平台的一部分。 它最初设计为一种后端增强功能,旨在提高我们的流媒体平台的可扩展性,还提供了多种管理优势,包括对广告来源和交付工作流的更多可见性和控制。 这些工具使发布者能够优化向正确的查看者交付正确的广告,并监控QoS和QoE的许多方面。

使用清单服务器个性化流

在之前的博客文章中,我们详细介绍了清单服务器在个性化流以整合定制广告内容方面的作用。 正如在这篇文章中所讨论的,清单服务器负责发出广告请求,解析响应,然后像任何其他内容一样下载和处理广告创意。 然后,清单服务器向播放器发送集成流,为观众提供更一致的体验,最大限度地提高设备兼容性,并绕过广告拦截器。

虽然清单服务器设备齐全,可以处理播放和个性化部分,但采购和验证广告所涉及的工作带来了额外的复杂性和新的挑战。 随着我们不断优化为数百万并发观众提供个性化体验的流媒体架构,这导致了专注于支持这些活动的广告代理服务的开发。

寻源和验证挑战

要获取要插入流媒体的广告,必须从广告决策服务器(ADS)(如Freewheel或Google广告管理器)获取广告内容。 此过程涉及到请求广告并沿着流及其所有信息传递,以便放置正确的广告。 挑战在于给定服务器上的许多广告只是指向不同服务器上的实际广告的包装。

例如,如果有四个广告插槽要填充,其中两个可以直接插入,但另外两个可能没有广告资产,而是包装器,其内容是:”您的广告不在这里,它在其他地方,您需要在这里获取它。” 我们尝试为我们看到的每一个广告响应解包并获取可播放的视频资源。 我们在解包回复时对其进行验证,以确保可播放的广告资产已准备好拼接到流媒体中。 鉴于我们的体系结构设计为向每个查看者提供个性化清单,每个会话都会重复此过程,这可能会导致相当大的负载。

AD查找延迟

如果不并行处理,通过多个包装跟踪资产可能是延迟的主要原因。 某些封装程序从不会解析为实际的广告资产。 为了防止这种情况降低视频体验,我们在继续获取下一个广告之前限制这种”瀑布式”。 在此工作流程中公开数据和见解可帮助发布者识别和解决不会导致广告投放的需求源,并确保观众获得不间断的观看体验,同时最大限度地增加广告收入。

确保响应式广告体验还意味着查看广告查找对清单服务器的影响,清单服务器正忙于以最小延迟组装个性化流。 清单服务器没有专用于生成和存储AD性能数据的无限资源。 它仅存储生成清单所需的广告信息,这可能会限制调试有问题的广告调用和播放的数据可用性。

AD代理服务接管

如今,出版商需要一个可扩展的平台,该平台可以交互和管理日益复杂的广告插入流程,并提供对工作流和与其广告合作伙伴关系的可见性。

如下所示是Ad Proxy服务流体系结构。 在流的前端,玩家请求清单服务器,直到它有足够的信息从ADS请求广告。 一旦发生这种情况,清单服务器就不会联系ADS本身,而是将任务交给Ad Proxy服务。 这种卸载不仅可以从清单服务器执行,而且还具有其他几个优点,例如减少延迟和捕获更多的调试数据。

获取和验证广告的工作由广告代理服务处理,它释放资源,让清单服务器将广告拼接到流中进行播放,并提供无缝的观看体验。

  1. 玩家请求清单。
  2. 内容要求Ad Proxy获取广告。 在收到作品的唯一标识符后,内容将移至清单生成中的其他步骤。
  3. AD代理开始执行请求的工作。
    1. 工作被放入队列中等待处理。
    2. “工作”服务器从队列中提取作业,并开始从ADS中请求AD资产,并将正在完成的工作步骤和所有结果数据保存到数据库中。
  4. 内容询问Ad Proxy,”作业x的广告在哪里”,并引用唯一标识符。 广告代理将广告返回到内容,内容将其放入清单并将其返回给播放器。

扩展广告查找

当Ad Proxy服务接收请求时,它会将请求排队等候,以便继续接收新请求,从而提高可伸缩性。 它还为清单服务器提供作业ID作为占位符,同时跟踪广告,以便清单服务器无需等待Ad Proxy即可继续。 然后,ADS工作者开始通过调用ADS并发送捕获的所有播放器数据和其他流信息来仔细查看队列中的”AD作业”,以便ADS可以提供相应的广告。 此过程的一个主要优点是ADS工作人员可以并行获取广告,从而消除潜在的瓶颈并降低延迟。

标准化ADS数据

在整个过程中,广告代理与ADS之间的通信将与广告一起记录并存储在数据库中。 数据因提供程序而异,使用一致的命名约定进行解析和标准化。 这使得在分析或调试过程中使用ADS数据更加高效。

投放广告

当清单服务器到达需要广告的位置时,该过程即完成。 它调用广告代理,并说:”这是您给我的工作ID,请给我广告。” 然后,AD代理从数据库中获取并发送它们。

索引和存储AD信标活动

广告代理服务还负责捕获和存储播放器的信标信息,这是确保正确盈利的关键。 信标存储为带有主键的单个对象。 因此,当清单服务器请求广告时,Ad Proxy服务还会提供信标信息。 然后,当玩家到达一个特定的检查点时,它会根据它在清单中被指示要做的事情触发一个信标。 然后,信标工作者从数据库中获取对象,然后进行适当的更新,说明此时触发了此操作;ADS返回的响应为x,它有错误或没有错误,并存储所有这些信息。

排除广告播放故障

跟踪和分析包括在流程中。 Ad Proxy体系结构通过API,GUI和推送日志提供有关广告性能和收视率的大量信息。 我们知道”如果”和”为什么”存在广告问题,因此如果没有加载广告,就不会再有人指指点点—您可以指向数据。 每一个会话都包括在不需要额外配置的情况下,数据最长可访问14天。

通过API,内容发布者可以分析以下信息:

  • 来自外部ADS的原始请求和响应数据
  • 响应时间和大小
  • 返回的广告数
  • AD POD位置
  • 设备类型
  • 打包机数量
  • 错误(例如,无广告返回,分析失败,连接错误)
  • 来自广告提供商的警告(例如,缺少可选但建议的参数)
  • 请求失败(例如VPAID)

结论

希望为每位观众提供个性化视频体验的发行商必须构建可扩展的流媒体工作负载。 创建用于广告处理的专用服务不仅可以提高清单服务器(支持个人观众的个性化广告,内容和中断的引擎)的性能,还可以创建一个强大的工具,用于排除广告支持的视频流的故障,并确保提供高质量,类似于电视的观看体验。

通过更好地了解广告代理服务问题的根本原因 ,内容发布商和广播公司可以了解广告操作工作流程。 它们可以与其他数据关联,以提高观众保留率并最大化广告收入。