最近找到一个h265播放器:
https://github.com/goldvideo/h265player
需要注意的是这个h5 播放器只支持hls和MP4


播放器主要分为UI、Loader、数据处理、数据渲染四个部分和3个线程。一个是主线程,包括界面控制、下载控制、数据流控制、音视频控制等功能;数据加载线程,完成元数据和数据片段的请求;数据处理线程,完成数据解封装和解码。

UI:播放器显示成,包括screen和controlbar两部分,screen包括视频图像展示、弹窗、海报图等。controlbar包括进度条、播放按钮、音量控制等组件。
Loader:负责媒体数据的加载和解析,目前仅支持HLS协议。通过worker实现数据的请求,加载完成后,根据设置缓存大小,存储请求的ts数据,当达到缓存上限后停止加载。解码器从ts数据队列获取ts后,Hls Loader会把请求过的ts释放,继续加载下一个ts,达到最大缓存限制后停止加载
数据处理:主要包括数据解封装和H265解码,解封装通过demuxe.js这个类库实现,H265解码通过ffmpeg打包生成的wasm软解来实现,cpu使用率较高。
数据渲染:包括视屏渲染和音频渲染,视频渲染通过ImagePlayer把解码后的yuv数据直接渲染到canvas,音频通过AudioPlayer把AAC数据解码后进行音频播放,最后通过pts实现音视频的同步。同步策略是以音频为参考,判断当前视频pts与获取到的音频pts的差值来调整视频显示时间来达到音视频同步。

web 端h265播放器相关推荐

  1. web端 m3u8播放器

    m3u8文件介绍,请看 m3u8文件格式详解 m3u8播放器git地址,点击获取 这个就是git上下载下来的文件目录,浏览器打开外面的index.htm,input里输入你的.m3u8文件的地址,点击 ...

  2. html5 h265播放器,PC端播放H265

    说明 需要在PC端浏览器(Chrome)中播放直播视频,视频格式有H264/H265.有不少三方库可以实现. 通过video.js(支持H264,不支持H265) videojs-contrib-hl ...

  3. 360视频云Web前端HEVC播放器实践剖析

    360视频云前端团队围绕HEVC前端播放及解密实现了一套基于WebAssembly.WebWorker的通用模块化Web播放器,在LiveVideoStackCon2019深圳的演讲中360奇舞团We ...

  4. RequestBody获取前端数据_360视频云Web前端HEVC播放器实践剖析

    360视频云前端团队围绕HEVC前端播放及解密实现了一套基于WebAssembly.WebWorker的通用模块化Web播放器,在LiveVideoStackCon2019深圳的演讲中360奇舞团We ...

  5. Web端直接播放 .ts 视频及mux.js播放ts视频没有声音

    最近项目中需要前端播放 .ts 格式视频,捣鼓了几天学习到很多知识,也发掘了一种优秀的解决方案,分享给有同样需求的同学. 常见方案 在网上查找的大部分解决方案都是用诸如videojs等网页播放器,接收 ...

  6. HTML5移动端音乐播放器(启蒙篇)

    这段时间公司一直在做一个PC的教育类单页应用,庞大复杂,涉及非常多H5的知识,音频就是其中的一部分.前些天偷台风的闲暇时写了一个移动端音乐播放器,作为练手项目. 在线地址:请猛击这里 源码:请猛击这里 ...

  7. js-前端video播放器

    js-前端video播放器 目录 文章目录 前言 推荐阅读 传统播放模式 视频切片 - `Accept-Ranges` 服务器端请求特定的范围 单一范围 多重范围 条件式范围请求 范围请求的响应 流媒 ...

  8. android easyplayer截屏,EasyWasmPlayer H265播放器是如何实现视频截图功能的?

    在我们做视频开发的过程中,会遇到不少需求,其中视频截图就是一个比较常见的需求,因此TSINGSEE青犀视频不管是在设计视频平台还是视频播放器的时候,我们都会在原有开发的基础上对视频截图进行一些功能拓展 ...

  9. javaFx 实现----桌面端音乐播放器

    前言 javaFx 实现桌面端音乐播放器 一.效果图 二.动画设置 package com.zcw.javafx.project.controller;import com.zcw.javafx.pr ...

最新文章

  1. LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim
  2. 李洪强经典面试题10
  3. 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决...
  4. 揭开知识库问答KB-QA的面纱1·简介篇
  5. spark读取文件源码分析-3
  6. Linux提权:常用三种方法
  7. 【转】C++学习四 冒泡排序法的一些改进
  8. 苹果iOS 13正式版推送:深色模式来了 速度再次提升!
  9. RichEdit控件的使用(未完)
  10. 一个基于 SpringBoot+Redis+Vue 仿饿了么外卖系统(后台+移动端),可二次开发接私活!...
  11. 使用高斯金字塔和拉普拉斯金字塔重构图像(matlab代码)
  12. python-MongoDB可视化工具Robomongo 和 Mongochef
  13. 当当网图书爬虫与数据分析
  14. 大数据算法_大数据挖掘十大经典算法
  15. 视频分割技巧,把视频分割成多段进行保存
  16. java combo_JAVA中的下拉框(Combo Box)概述(1) | 学步园
  17. 【源码分享】一键打开禅意生活——电子木鱼微信小程序源码分享
  18. 利用依存分析完成开放领域关系抽取
  19. XILINX XC7A200T-2FBG676C PLC可编程逻辑控制器
  20. 【安全通告】创宇安全智脑:GitLab ExifTool远程命令执行漏洞在野利用(CVE-2021-22205)...

热门文章

  1. 电子电路学习笔记(3)——电感
  2. kotlin实现bean的注入
  3. opa847方波放大电路_运放方波发生器电路图(三款经典电路图分享)
  4. thrift如何定义Java中的object类型
  5. Java【网络编程1】使用 UDP 的 Socket API 实现客户端服务器通信(保姆级教学, 附代码)
  6. 电子商务搜索系统架构参考
  7. 【ADI高性能应用研讨会-长沙站】会议笔记记录
  8. Vue路由动态渲染和动态传参
  9. 压缩包安装node.js
  10. Ruistek告诉你如何选择射频连接器