一、前言
浏览器对H.265(HEVC)的支持一直是众多用户的一个痛点,特别是在视频监控领域中,越来越多的监控厂家新出厂的设备默认都采用H265视频编码。当我们要部署这类视频应用时,客户端解码就成为很大的问题。特别是随着web技术的普及,更多的企业应用更愿意将应用部署在web平台,客户端使用浏览器播放视频流或视频文件。
二、主流浏览器对hevc的支持情况
上图显示了HEVC在浏览器端的支持情况,其中红色代表不支持,绿色代表支持,黄色代表可通过硬解码支持或在特定的设备上支持。可以看出,HEVC在浏览器端并不是一个得到广泛支持的方案。
三、两种增加HEVC支持的方法
目前,很多厂商尝试使用webassembly+ffmpeg+webworker+canvas的技术方案实现网页版本的软解。优势是跨平台性和浏览器的兼容性比较好,缺点是性能较低,一般情况下,在PC上只能实现1路实时1080p解码,对于国产化CPU或ARM设备,就无法实现流畅的播放。另一种更彻底的方法是定制修改浏览器,但是难题是如何支持网络流和文件,而且要与H.264一样,尽可能使用硬件实现HEVC的解码。
前一种方法网上有很多的介绍,下面主要介绍第二