替换从 VAST 代码返回的多个 HLS VOD 片段

Posted

技术标签:

【中文标题】替换从 VAST 代码返回的多个 HLS VOD 片段【英文标题】:Replacing multiple HLS VOD segments returned from VAST tag 【发布时间】:2021-08-21 10:10:09 【问题描述】:

我有一个要在 MediaTailor 中使用的 VOD HLS 播放列表源,我想用使用 VAST 代码返回的广告素材替换 2 个片段(segment1.ts、segment2.ts)。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-CUE-OUT:0
#EXTINF:4.004000,
segment1.ts
#EXT-X-CUE-IN
#EXT-X-CUE-OUT:0
#EXTINF:4.004000,
segment2.ts
#EXT-X-CUE-IN
#EXTINF:1.835167,
segment3.ts
#EXT-X-ENDLIST

我将 pod=[avail.index] 作为附加参数传递给我的 VAST 代码,并在广告服务器中设置了 2 个文件(creative1.mp4 和 creative2.mp4),它们分别定位到值 pod=1 和 pod=2

正如预期的那样,creative1.mp4 被拼接(替换 segment1.ts)没有任何问题。但是,creative2.mp4 根本不会被拼接,而是始终播放 segment2.ts。我做错了什么?

【问题讨论】:

【参考方案1】:

根据您发送的参数,那里没有问题。建议验证广告服务器是否已正确配置,以便 pod=2 等于 creative2.mp4。如果该配置正确,则 creative2.mp4 可能存在通过 MediaTailor 进行转码的问题。要检查 creative2.mp4 的转码问题,您需要打开 CloudWatch 并进入 Log Insights,然后在 MediaTailor/TranscodeService 日志中搜索 creative2.mp4 文件。

【讨论】:

以上是关于替换从 VAST 代码返回的多个 HLS VOD 片段的主要内容,如果未能解决你的问题,请参考以下文章

使用nginx-vod-module hls &&dash &&Thumbnail 处理

sh 使用ffmpeg全能创建VOD HLS流的bash脚本(在Linux和OS X上测试)

RTMP vs HLS vs HDS

pyav:将视频和音频从流式 hls 中保存到单独的文件中

使用节点 JS 的 HLS 流式传输

如何在 iOS 上下载 LIVE HLS m3u8 流