开发背景

在2019年之前,一直的理解就是H.265是无法在网页上进行解码播放的,直到我看到了金山云、阿里云的技术在LVS流媒体社区推送的关于wasm(WebAssembly)解码播放H.265视频的技术文章,才了解到互联网大厂果然是走在技术的最前沿,于是,我们经过反复的讨论和调研,再结合我们早期做原生的EasyPlayer的经验,开始有了对H.265 Web网页播放器研发的想法;

从2020年初有研发支持H.265编码格式的视频想法,到疫情期间的实现,再到现在对重连、丢包、花屏方面的优化,一直都是在一个不断迭代和适应的过程;

在我们以前的播放器开发中,EasyPlayer几乎是全部协议、全部兼容的,包括对国内CDN联盟的RTMP协议的支持,这对于EasyDarwin团队来说是驾轻就熟的,那么,如果能够将这些原有的技术复用和嫁接过来,对于我们自身来说,研发就变得简单了很多,恰好,wasm技术就是这样一种底层原生技术+前端技术的结合。

升级过程

我们在之前聊到过关于EasyPlayer.js的wasm播放支持《历时半年,终于研发完成了Web网页对H.265(HEVC)直播和点播的支持,WebAssembly(wasm)》,当时,秉着先完成后完善,先有后优的想法,通过前端的快速结合,将支持H.264的mse播放器和支持H.265的wasm播放器,通过后端返回编码格式的方式,选择加载播放器资源,进行的播放,没有达到我们Easy的一贯要求,那么,有经过了两个多月的不断优化和各个产品的现场实战,目前,EasyPlayer.js对H.265/H.264的播放支持已经达到了一个非常好的兼容和体验;

那么,为了达到H5的Web播放器也能达到原生播放的效果,我们进行了许多的优化:

延时优化

延时的消耗主要是在解码效率和缓冲区的设计,我们通过将原有EasyPlayer在原生播放中的缓冲区经验和选择性丢帧经验移植到了wasm播放器,达到了一个非常好的长时间低延时播放的效果;

优化重连

重连是播放器非常重要的一个功能,尤其是在安防领域,由于网络异常或者其他因素,会导致连接的短暂断开,那么及时的重连是一个优秀播放器非常必要的。

优化丢包

以EasyGBS的RTP直播为例,国标GB28181协议在公网传输的过程中,很多时候丢包是非常严重的,那么要达到一个非常好的播放体验,播放器对于丢包的适应是非常重要的一个功能点。

优化卡顿

同样,RTP丢包不但会造成丢包,而且还会因为前端设备或者传输的过程,导致时间戳的异常,会对播放过程产生各种卡顿、跳跃的异常,那么这种情况下,对于视频的平滑直播是非常有必要的,播放器需要根据整个播放的过程,对时间戳进行容错,达到无感知的平滑播放。

研发后续

WebSocket支持H.265

由于HTTP 2.0以下的协议版本Web支持的同时并发数还有一定的限制,所以,下一步EasyPlayer.js将扩展对WebSocket流的支持。

支持更多的音频格式

PCMA、PCMU等安防音频格式的支持,对于安防行业是非常必要的。

支持更多前端绘制的功能

支持更多的前端绘制,包括区域绘制,人脸/行为框图,物体标注等等。

开发历程:网页视频流媒体播放器EasyPlayer.JS开发web H5网页播放H.265视频支持FLV与HLS直播与点播相关推荐

  1. EasyPlayer.js开发Web H5网页播放H.265视频播放支持FLV与HLS直播与点播的过程

    开发背景 在2019年之前,一直的理解就是H.265是无法在网页上进行解码播放的,直到我看到了金山云.阿里云的技术在LVS流媒体社区推送的关于wasm(WebAssembly)解码播放H.265视频的 ...

  2. 网页全终端安防视频流媒体播放器EasyPlayer.js如何实现在web浏览器播放H.265编码视频?

    目前安防监控行业,基本所有的摄像头都支持H264编码,但是已经有部分摄像头开始支持H265,并且支持H265的摄像机已经越来越多.H265相比H264有着很多优势,压缩更高,网络传输消耗的带宽更小,相 ...

  3. 网页无插件视频流媒体播放器EasyPlayer.JS切换多清晰度码流播放报错,该如何调试?

    EasyPlayer是一款流媒体播放器系列项目,支持RTSP.RTMP.HTTP.HLS.UDP.RTP.File等多种流媒体协议播放.支持本地文件播放,支持本地抓拍.本地录像.播放旋转.多屏播放.倍 ...

  4. H265编码视频流媒体播放器EasyPlayer.js支持9宫格视频同屏播放的写法

    TSINGSEE青犀视频开发的播放器项目EasyPlayer有很多个分支,其中 EasyPlayer.js就是集成在EasyNVR.EasyGBS等平台内进行直播的网页播放器,并且EasyPlayer ...

  5. 视频流媒体播放器EasyPlayer.js如何实现在FLV直播流断流恢复后自动重连?

    背景分析 EasyPlayer-Android播放器是一款可针对RTSP.RTMP.RTSP&RTMP协议进行过优化的流媒体播放器,其中我们引以为傲的两个技术优势就是起播速度快和播放延迟低.最 ...

  6. EasyPlayer播放H.265视频,播放器快照时间显示的问题优化

    我们的EasyPlayer流媒体播放器可支持H.264与H.265,能支持RTSP.RTMP.HLS.FLV.WebRTC等格式的视频流播放.TSINGSEE的视频平台均集成了EasyPlayer的播 ...

  7. EasyPlayer.js视频流媒体播放器互联网无插件微信H5直播方案—如何实现倍速播放?

    需求分析 一般对于一个播放器,应该支持如下几种显示模式: 等比例,最大化区域显示,不裁剪 等比例,最大区域显示,裁剪 拉伸显示,铺满全屏 要实现这几种显示模式,其实只要对播放控件的布局进行些许调整即可 ...

  8. 【疑难解决】H265编码流媒体播放器EasyPlayer.js播放HLS H265视频流,遇到黑屏如何排查?

    在部分采用H265播放器EasyPlayer.js播放HLS视频流的用户中,有位用户反馈HLS使用了H265编码格式,收到了请求的TS文件,控制台未见报错,但是画面一直黑屏,无法正常播放视频,让我们协 ...

  9. EasyPlayer.js如何实现动态设置解码H.265音频?

    视频平台EasyCVR.EasyGBS.EasyDSS.EasyNVR等均集成了我们自主研发的EasyPlayer视频流媒体系列播放器,可支持H.264/H.265视频编码,并拥有多个版本包括Easy ...

  10. html播放h265,Web 播放 H.265视频

    本文主要从H.265 编码格式出发,介绍 H265 使用情况,以及对比 H.264的优势,随后分析如何在前端完成 H265 视频格式的播放. H.265, HEVC 是当前非常火的视频压缩方式,相对于 ...

最新文章

  1. 数据库打开报错: 值不能为空
  2. 编写c语言程序 斐波那契,请编写一个函数,生成并显示前n个斐波那契数.在主程序中测试...
  3. 动态代理proxy与CGLib的区别
  4. 函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法
  5. [计算机网络] - TCP半连接队列和全连接队列
  6. Google的云计算引擎与持久化存储磁盘PD
  7. 简单理解L0、L1与L2范数
  8. [Python] L1-019. 谁先倒-PAT团体程序设计天梯赛GPLT
  9. 679. 24 点游戏
  10. 北京大学Cousera学习笔记--7-计算导论与C语言基础--基本数据类型变量常量
  11. 第七次JAVA语言笔记
  12. 挥泪告别鼠标,我终究还是学会了Windows快捷键
  13. 软件项目管理第十章笔记---项目采购管理
  14. 企业思想家:专家详解元宇宙逻辑和产业机会 (5000余字)
  15. win7远程服务器管理工具
  16. python妹子图软件下载_python3下载妹子图,你懂的。
  17. Linux常用命令详解(两万字超长文)
  18. fastdfs上传文件资料(PDF,视频,图片,FileCaseUtil,FileUploadUtil)并生成缩略图
  19. 信息系统项目管理师速记 - 十大知识领域
  20. 2014年24如何改变球段魔尺视频教程

热门文章

  1. 计算机启动灯光提示,为什么我的电脑开机时指示灯为黄色并不断闪烁,且开不开机?...
  2. 记一次联想Y7000P安装黑apple系统地经历
  3. 使程序在后台运行,后台进程实现原理
  4. Android 3D画廊
  5. CTF 杂项 隐写术 密码学及编码 取证技术
  6. sl400通过ac无法连接psk加密无线网络
  7. 中国各省份中英文,Json格式
  8. VBA读excel写xml
  9. R、Rstudio、Rtools的下载与安装
  10. 昆腾助用户步入大数据和云时代