改进OTT广告来源,播放和验证
OTT是广播公司和内容创建者超越线性电视体验的绝佳机会,它可以根据每个观众的兴趣对视频流进行个性化设置。 这种高水平的个性化也是吸引广告收入到OTT流的关键因素,它支持以高端CPM费率交付具有高度针对性的广告。
但是,广告采购,播放和验证挑战阻碍了这一机会。 围绕OTT广告的许多标准都是新生的,并且仍在不断发展。 此外,围绕服务质量(QoS)进行的深入调试和分析往往受到限制。 了解体验质量(QoE)也很重要,例如广告是否以一致的音量播放。
考虑到这些挑战,以及我们不断致力于提高扩展性和减少延迟,我们开发了专用的广告代理服务作为平台的一部分。 最初设计为后端增强功能,旨在提高我们的流媒体平台的可扩展性,它还具有多种管理优势,包括对广告采购和交付工作流的可见性和控制。 这些工具使发行商能够优化将正确的广告交付给正确的观众,并监控QoS和QoE的许多方面。
带有清单服务器的个性化流
在上一篇博客文章中,我们详细介绍了清单服务器在个性化流以纳入定制广告内容方面的作用。 正如在该帖子中所讨论的那样,清单服务器负责发出广告请求,解析响应,然后像任何其他内容一样下载和处理广告创意。 然后,清单服务器向播放器发送集成的流媒体,为观众提供更一致的体验,最大限度地提高设备兼容性,并绕过广告拦截器。
虽然清单服务器装备精良,可以处理回放和个性化部分,但与寻找和验证广告有关的工作带来了额外的复杂性和新的挑战。 随着我们不断优化流架构,为数百万并发观众提供个性化体验,这促成了一种专注于支持这些活动的广告代理服务的开发。
采购和验证挑战
要获取要插入流媒体的广告,广告内容必须从广告决策服务器(ADS)中提取,如Freewheel或Google Ad Manager。 此过程涉及索取广告和传递流及其所有信息,以便放置正确的广告。 挑战在于,给定服务器上的许多广告只是指向不同服务器上实际广告的包装。
例如,如果有四个广告插槽要填写,其中两个插槽可以直接插入,但另外两个插槽可能没有广告资产,而是打包器,上面写着”您的广告不在这里,而是在其他地方,您需要到这里获取。” 我们尝试为我们看到的每一个广告回复打开包装并获取可播放的视频资产。 我们会在解压缩响应时验证响应,以确保可播放的广告资产已准备好拼接到流中。 鉴于我们的体系结构旨在向每个查看器提供个性化的清单,因此在每个会话中重复此过程,这可能会造成相当大的负载。
广告查找延迟
如果不并行处理,通过多个包装程序跟踪资产可能是延迟的主要原因。 某些包装永远不会解析为实际的AD资产。 为了防止这种情况降低视频体验,我们在继续获取下一个广告之前限制这种”瀑布”。 在此工作流程中公开数据和见解有助于出版商识别和解决不会导致广告投放的需求来源,并确保观众获得不间断的观看体验,同时最大限度地提高广告收入。
确保响应式广告体验还意味着要了解广告查找对清单服务器的影响,清单服务器正忙于以最小的延迟整合个性化流。 清单服务器没有无限的资源专用于生成和存储AD性能数据。 它仅存储生成清单所需的广告信息,这会限制调试有问题的广告呼叫和播放所需的数据的可用性。
AD代理服务接管
如今,发布商需要一个可扩展的平台,该平台可交互和管理日益复杂的广告插入流程,并提供工作流程的可见性以及与广告合作伙伴的关系。
下面显示的是广告代理服务流体系结构。 在流程的前端,播放器请求清单服务器,直到它有足够的信息从ADS请求广告。 一旦发生这种情况,清单服务器将该任务交给广告代理服务,而不是直接联系ADS本身。 这不仅可以从清单服务器卸载工作,而且还具有其他几个优点,例如减少延迟和捕获更多的调试数据。
提取和验证广告的工作由广告代理服务处理,该服务为清单服务器释放资源,以便将广告拼接到流中进行播放,并提供无缝观看体验。
- 播放器请求清单。
- 内容要求广告代理获取广告。 收到工作的唯一标识符后,内容将移至清单生成中的其他步骤。
- AD代理开始执行请求的工作。
- 将工作放入队列中等待轮到处理。
- “工作者”服务器从队列中提取作业,并开始从ADS请求AD资产,并将正在完成的工作的步骤和生成的任何数据保存到数据库中。
- 内容询问Ad Proxy,”我的作业广告在哪里”,引用唯一标识符。 广告代理将广告返回到内容中,内容将其放入清单中,并将其返回给播放器。
扩展广告查找
当广告代理服务接收请求时,它会将请求排队以继续接收新请求,从而提高可伸缩性。 它还为清单服务器提供一个作业ID作为占位符,同时追踪广告,以便清单服务器可以继续移动,而不必等待广告代理。 然后,ADS工作者开始通过呼叫ADS并发送捕获的所有播放器数据和其他流信息来淘汰队列中的”广告作业”,以便ADS能够提供适当的广告。 此流程的一个主要优点是ADS工作人员可以并行获取广告,从而消除潜在的瓶颈并减少延迟。
标准化ADS数据
在整个过程中,广告代理与ADS之间的通信将与广告一起记录,并存储在数据库中。 这些数据可能因提供者而异,通过一致的命名约定对其进行解析和标准化。 这使得在分析或调试期间使用ADS数据的效率更高。
投放广告
当清单服务器到达需要广告的位置时,该过程即完成。 它呼叫Ad Proxy并说:”这是您给我的工作ID,请给我广告。” 然后,AD代理从数据库中提取它们并将其发送。
索引和存储AD信标活动
广告代理服务还负责捕获和存储来自播放器的信标信息,这是确保适当盈利的关键。 信标存储为带有主键的单个对象。 因此,当清单服务器请求广告时,广告代理服务还提供信标信息。 然后,当玩家击中特定的检查点时,它会根据其在清单中的指示来触发一个信标。 然后,信标工作人员从数据库中提取对象,然后进行适当的更新,说明此时触发了此事件;从ADS返回的响应是x,它有错误或没有错误,并存储所有这些信息。
对广告播放进行故障排除
跟踪和分析包括在流程中。 广告代理体系结构通过API,GUI和推送日志提供有关广告性能和收视率的广泛信息。 我们知道”如果”和”为什么”会出现广告问题,因此如果广告未加载,就不会再出现指向数据的指向。 每个会话都包括在内,无需额外配置,数据最多可访问14天。
通过API,内容发布者可以分析如下信息:
- 来自外部ADS的原始请求和响应数据
- 响应时间和大小
- 退回的广告数量
- AD POD位置
- 设备类型
- 包装机的数量
- 错误(例如,无广告退货,解析失败,连接错误)
- 来自广告提供商的警告(例如,缺少可选但推荐的参数)
- 请求失败(例如VPAID)
结论
希望让每位观众获得个性化视频体验的发行商必须设计其流媒体工作负载以进行扩展。 为广告处理创建专用服务不仅提高了清单服务器的性能(该引擎为个性化广告,内容和中断),还创建了一个强大的工具,用于排查广告支持的视频流故障,并确保提供高质量的电视观看体验。
通过更好地了解广告代理服务问题的根本原因,内容发布商和广播商可以了解广告运营工作流。 它们可以与其他数据关联,以提高观众保留率并最大限度地提高广告收入。