首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问HTML5视频解码状态?

如何访问HTML5视频解码状态?
EN

Stack Overflow用户
提问于 2019-10-11 12:17:09
回答 1查看 568关注 0票数 1

我一直在使用HTML视频媒体源扩展( MSE ),下面是来自w3.org的图表概述,以了解MSE如何与HTML交互:

如果我正确理解,MSE只向源提供信息。根据StackOverflow JS视频解码站的说法,视频解码工作仍然是由HTML完成的,它是访问硬件解码支持的唯一入口。

我有两个问题:

  1. 当访问视频缓冲属性时,它是指HTML元素中的解码缓冲区还是MSE中的下载/解析缓冲区?如果它引用下载的缓冲区(如MDN医生说 ),这有可能得到解码的缓冲区范围吗?
  2. 在某些性能较差的计算机上,由于缺乏GPU硬件支持,它们无法足够快地解码高分辨率视频。同时,随着互联网带宽的不断提高,自适应比特率(ABR)算法将不断向这些计算机提供高分辨率的信息,从而带来一种不稳定的回放体验。有什么解决办法吗?

非常感谢你的建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 16:42:48

依次看你的问题:

  1. 它是下载的缓冲区-解码后的内容通常不能用于Javascript应用程序级别,如果它是加密的媒体流,并且设备支持安全的媒体路径,则它甚至不能用于操作系统。假设视频没有加密,理论上没有什么能阻止你自己在Javascript中解码它,但它显然会很慢。对于可用的Javascript有一些ffmpeg端口(例如https://github.com/Kagami/ffmpeg.js/),但这些端口仍然相对较慢。
  2. 大多数HMTML5播放器将包括手动或编程设置或限制播放机从清单中可用的决议中请求的最大分辨率的方法。不同的玩家也可能有不同的ABR算法,有些玩家会将CPU作为算法的一个因素。有些玩家甚至可以支持多种或自定义ABR算法,这样您就可以添加自己的标准。如果您希望看到允许CPU的算法示例,请查看DASH.js:https://github.com/Dash-Industry-Forum/dash.js/wiki/ABR-Logic中的“https://github.com/Dash-Industry-Forum/dash.js/wiki/ABR-Logic
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58341106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档