我正在为高度受限的环境(例如军事、赌场)开发产品,在这些环境中不允许安装我的媒体服务器(用于转码)。因此,我需要完全在浏览器中处理视频解码。具体来说,他们的系统向我(CEF嵌入式浏览器)发送H264或H265 NAL单元,我需要在浏览器环境中将它们解码为YUV帧。
无法使用WebRTC。无法使用互联网或外部网络或放置在其网络外部的服务器。
这是我的主要问题:
谢谢你
我已经尝试使用WebCodecs API进行解码,但由于兼容性问题(CEF嵌入的chromium不适用于WebCodecs API),这不是该项目的有效解决方案。
此外,我还研究了基于 WebAssembly 的解码器,例如 Broadway.js(用于 H264)和 H265Player,并且我已经使用这些解码器实现了一个播放器并部署了一些项目。然而,我对他们许可声明的合法性感到担忧。看来他们的 WebAssembly 实现的原始源代码并未应用于他们的项目许可证。
我会将你的 NAL 单元流包装成碎片 MP4 块,然后将其交给视频标签。
例如 - 从这里开始查看:https://github.com/Vanilagy/mp4-muxer
这将导致以秒为单位的延迟,但您可以保持片段大小较小。