HLS+Fairplay 流资源释放问题

问题描述 投票:0回答:1

背景

我正在使用 HTML 视频元素在 Safari 中播放 HLS+Fairplay 流(VOD 和直播)。 我的应用程序类似于 Netflix。您可以观看一个视频,停下来,然后观看另一个视频。 具体来说,

<video>
标签在每次游戏时创建,并在玩家退出时销毁。

问题

有时,退出播放器后,启动新视频会导致

MEDIA_ERR_DECODE
错误,而无需更多解释。 我可以在代码中跟踪 Fairplay 证书和
CKC
已被正确检索,并且媒体会话已创建和更新(使用
CKC
)。 事实上,当我记录所有内容时,我看到的日志与其工作时完全相同。除了最后的
MEDIA_ERR_DECODE
错误。

当我收到此错误时,如果我立即重试播放,则会发生相同的错误,但如果我等待大约 5~10 秒,它会成功播放。就像某些资源正在等待被垃圾收集一样。

我尝试过的

我尝试播放非 DRMed 视频,效果非常好:我可以播放、停止、播放等,没有任何问题。

所以我猜测 EME 层面正在发生一些事情。

我浏览了整个互联网(两次),但无法给出明确的解释。 我发现的大多数提示都无法解释我的问题(例如,DRM 加密不好,但它如何才能第一次工作?)或解决它(例如

videoElement.src = ""
)。

我正在把一个瓶子扔进海里,在这里......

reactjs macos safari html5-video fairplay
1个回答
0
投票

您能找到解决办法或原因吗?我在视频 contrib eme 中遇到了同样的问题,但我需要等待 5-10 秒以上才能成功播放。但偶尔,无论我重新加载播放器多少次,播放都会成功。

就像你提到的,无论它是否失败和工作,我都会看到完全相同的日志。

我简直迷路了。如有任何帮助,我们将不胜感激。

© www.soinside.com 2019 - 2024. All rights reserved.