And*_*hko 2 html5 video-codecs hardware-acceleration html5-video
HTML5具有<video/>从服务器下载视频,解码和渲染视频的元素.通常,如果不是总是他们使用硬件加速解码(如果可用).
是否可以访问解码功能?原因是我正在使用自定义流媒体协议,因此在客户端我编码了我需要解码和渲染的视频流.
遗憾的是,视频解码器的纯JavaScript实现不适用,因为它们无法提供足够的性能.我只对HVEC或h.264编解码器感兴趣.
小智 6
是否可以访问解码功能?
很不幸的是,不行.我们只能访问处理流/源文件的高级API,这些API具有有限的影响,例如基于时间的位置,播放状态和各种事件.我们可以将画框作为原始RGB(A)从当前解码帧中绘制到画布上,但这就是它.
原因是我正在使用自定义流媒体协议,因此在客户端我编码了我需要解码和渲染的视频流
您没有描述此协议,因此我们只能猜测,但您可能能够构建浏览器兼容的流,视频元素可以使用Media Source Extensions.这使您可以在客户端中构建自适应和自定义流式处理解决方案.
遗憾的是,视频解码器的纯JavaScript实现不适用,因为它们无法提供足够的性能.
这不一定是真的.示例是例如纯JS实现,其实时解码MPEG1流,包括音频和视频,例如这和此.当然,这适用于大多数浏览器目前可以做的极限.还有一个基于emscripten的H-264解码器似乎也可以通过WebGL使用GPU,但我不能说它的性能 - 它可能是下一段的一个很好的起点:
更好的选择是查看WebAssembly,它可以运行预编译的二进制代码,例如C/C++源代码.这允许您在浏览器中使用以本机速度运行的HVEC/H.264解码器的开源实现(但要注意许可证和术语,特别是对于H.264),或者使用诸如(可链接的)ffmpeg之类的软件部分..
我对任何非便携式解决方案都感兴趣
在这种情况下,您可能希望构建一个Web扩展(也称为浏览器扩展),它可以使用消息传递与本机应用程序进行交互(后者在这种情况下可能是ffmpeg,或者是可以直接处理流的程序).
这究竟是如何工作的当然取决于你正在使用的协议等等.
根据有限的范围/描述,我只需2美分.
| 归档时间: |
|
| 查看次数: |
2125 次 |
| 最近记录: |