【发布时间】:2014-09-10 02:50:41
【问题描述】:
亲爱的堆栈溢出,
我目前正在为现有的视频流服务开发 Chromecast 应用,并希望在我们的 chromecast 端口上播放广告。
我们的视频内容是 HLS,因此我们使用媒体播放器库 (0.7.0) 进行视频播放,我们的广告内容目前是 MP4 内容。就其本身而言,所有广告和视频内容都将在设备上独立播放。没有编码或 CORS 问题;)
我希望能够播放插播广告内容而无需卸载当前的 HLS 内容(尤其是主 M3U8)
最明显的解决方案是停止媒体播放器,播放广告内容,并在广告中断时恢复 HLS 内容。这会导致缓冲的内容被清除,当视频恢复时,我们从低比特率重新开始,重新加载缓冲区,并提高质量。
有没有办法向媒体播放器库提示要恢复的比特率,或者在播放广告时不完全卸载缓冲区,从而更快地恢复视频?
如果这是不可能的,我们还有另一个问题。
我们的内容是受保护的,并且在请求主 M3U8 的查询字符串中需要一个身份验证令牌。 (例如http://example.com/video.m3u8?token=abc)在该响应中,设置了一个授权 cookie,该 cookie 必须包含在对 M3U8 和 TS 文件的后续请求中,并且有效期很长。
身份验证令牌仅在约 5 分钟内有效。在我们的广告插播解决方案中,当我们开始播放广告时,我们失去了主 m3u8,并且必须重新请求它。如果视频继续播放,并且已经超过 5 分钟,那么 auth 令牌已经过期,我们需要更新令牌。
有没有办法让媒体播放器库在播放之间缓存 Master M3U8?是否有另一种解决方案,我们不必在每次广告中断后检索新令牌?
提前谢谢你。
【问题讨论】:
标签: html http-live-streaming chromecast google-cast