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

H.265编码视频在web网页实现无插件播放,应该通过软解码还是硬解码?H.264编码格式可以直接在web浏览器通过H5来进行视频解码来完成播放,但是对于H.265编码的视频,无法通过H5直接解码来进行视频播放。

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

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

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

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

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

由于客户端播放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来进行解码(需要具体关联到设备的显卡)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13250.html

(0)

相关推荐

  • 如何自学编程?「建议收藏」

    如何自学编程?「建议收藏」继续在CSDN发表了几篇关于自学编程的小作文,讲述了自学的重要性、自学过程和自学技巧,依然在社区火爆,我继续做一次文章的整合与延展,以文章的形式

    2022-12-14
    157
  • 在腾讯云上配置mysql远程访问(windows)

    在腾讯云上配置mysql远程访问(windows)第一步,user权限配置,网上大多数教程都是停留在这一步,不赘述了(phpstudy有个快捷方式,一键修改) 第二步,放开windows防火墙中的进入端口限制(防火墙->高级设置->进入规

    2023-02-15
    102
  • 手机隐私保护软件(手机隐私卫士)

    手机隐私保护软件(手机隐私卫士)

    2023-08-28
    93
  • 初始 redis[亲测有效]

    初始 redis[亲测有效]官方定义: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并…

    2023-02-09
    113
  • Graphical User Interface as a Reflection of the Real World: Shadows and Elevation

    Graphical User Interface as a Reflection of the Real World: Shadows and Elevation界面设计从拟物化到扁平化,看似发生了天翻地覆的变化,其实一些核心的原则一直都在贯穿始终,比如跟现实世界的映射。 我们生活在一个三维的物理空间中,我们所感知到的事物皆是以此为基础,那么即使在二维的物理屏幕上,我们也会潜意识的按照生活中的经验去进行认知。所以界面设计是否拟物是否扁平都不是最重要的,重要的是我们如何将这种空间层次的感觉传递给使用者。

    2023-08-15
    63
  • postgresql部署

    postgresql部署postgresql部署 版本: 10.10 官方下载地址:https://www.postgresql.org/download/linux/redhat/ 一、安装pg # 安装yum源 yum…

    2023-02-19
    123
  • dumpdex脱壳_苹果越狱脚本

    dumpdex脱壳_苹果越狱脚本导语:本人刚学习逆向开发,在安装脱壳工具过程中踩了坑,可能会有朋友遇到同样的问题,所以记录一下供大家参考,如果有什么问题也请指正,感谢。。。

    2023-07-18
    93
  • neo4j batch import_neo4j使用教程

    neo4j batch import_neo4j使用教程1、准备 下载apoc插件:apoc-3.5.0.15-all.jar 下载地址:https://github.com/neo4j-contrib/neo4j-apoc-procedures/rele

    2023-05-04
    110

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注