前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >H.265编码视频在web网页实现无插件播放应该通过软解码还是硬解码?

H.265编码视频在web网页实现无插件播放应该通过软解码还是硬解码?

原创
作者头像
TSINGSEE青犀视频
修改2021-05-13 14:46:59
2.9K0
修改2021-05-13 14:46:59
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

目前摄像头存在H.265和H.264两种编码格式,我们的摄像头已经支持H265编码视频的传输。H.264编码格式可以直接在web浏览器通过H5来进行视频解码来完成播放,但是对于H.265编码的视频,无法通过H5直接解码来进行视频播放,当前的方案是通过H5调用编解码组件来进行web直播。

但当前播放的痛点在于:只能使用软解和单线程来进行视频播放处理。

我们来测试一下H.265直播流解码播放。经测试,在 MacBook Pro 2.2GHz Intel Core i7 / 16G 内存笔记本上,使用 Chrome 浏览器长时间观看直播,内存使用量稳定在 270M ~ 320M 之间,CPU 占用率在 40% ~ 50% 之间。由于CPU占用过高,无法满足可以在同一客户机下面播放多路视频的效果。

由于客户端播放H.265编码视频受到技术瓶颈限制,现通过服务端将H.265编码格式转码为H.264编码,统一由服务端来进行视频处理,客户端只进行H.264编码视频播放。

实现方案

方案1:

直接对H265进行封装成自定义FLV、RTMP、HLS发布给前端播放,web前端得支持解析H265播放的控件,如果使用这种方案目前基本很难找到适用的开源方案,而且后端和前端的改动可以说基本是推倒重来,所以这种方案在短时间内是很难实现的。

方案2:

做一个转码服务对H265进行解码再编码成H264,web前端播放方案就无需做任何改动,转码的话有软件转码和硬件转码两种方案,软件转码耗CPU资源,还有就是考虑硬件转码的方案了,本文下面要介绍的就是硬件转码的方案。

实现过程

基于现有的视频服务框架,在现有的直播中新增转码功能,平台统一接入摄像头,通过拉流判断接入摄像头视频流是否为H.265编码视频流。若判定接入视频流为H.265编码视频流,将开启转码服务,对现有的视频流进行编解码处理,将视频转化为H.264编码推送给流媒体进行视频分发。平台也同步添加是否开启转码功能,开启转码功能后的通道设备将会输出H.264编码视频。

目前采用的是CPU的方式来进行视频转码。后续会增加CPU来进行解码(需要具体关联到设备的显卡)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现方案
    • 方案1:
      • 方案2:
      • 实现过程
      相关产品与服务
      实时音视频
      实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档