亲爱的堆栈溢出,
我目前正在为现有的视频流服务开发一个Chromecast应用程序,并希望在我们的chromecast端口上播放广告。
我们的视频内容是HLS,所以我们使用媒体播放器库(0.7.0)进行视频播放,我们的广告内容目前是MP4内容。就其本身而言,所有广告和视频内容都将在设备上独立播放。没有编码或CORS问题;)
我希望能够播放中期广告内容,而不必卸载当前的HLS内容(特别是主M3U8)。
最明显的解决方案是停止Media Player,播放广告内容,并在广告间隙恢复HLS内容。这将导致缓冲内容被清除,当视频被恢复时,我们再次从一个低比特率开始,重新加载缓冲区,并提高质量。
有没有办法给媒体播放器库一个提示什么比特率恢复,或没有完全卸载缓冲区,同时播放广告,这样视频恢复更快?
如果这是不可能的,我们还有另一个问题。
我们的内容受到保护,并且需要主M3U8请求的查询字符串中的身份验证令牌。(例如,( http://example.com/video.m3u8?token=abc)在该响应中,必须将授权cookie设置为必须包含在对M3U8s和TS文件的后续请求中,并且有效期非常长。
身份验证令牌仅有效5分钟。在我们的广告中间播放解决方案中,我们失去了主m3u8当我们开始广告播放,并不得不重新请求它。如果视频恢复,并且它已经超过5分钟,那么auth令牌已经过期,我们需要更新令牌。
有没有办法让媒体播放器库在播放之间缓存主M3U8?是否有另一种解决方案,在每一次广告中断后,我们都不需要检索新令牌?
提前谢谢你。
发布于 2014-07-18 22:02:47
实现这一目标的最佳方法是将广告拼接到HLS播放列表中,并在广告开始和结束时使用#EXT-X-间断来发出信号。
https://stackoverflow.com/questions/24833928
复制相似问题