历时半年,终于研发完成了Web网页对H.265(HEVC)直播和点播的支持,WebAssembly(wasm)

本文主要是介绍历时半年,终于研发完成了Web网页对H.265(HEVC)直播和点播的支持,WebAssembly(wasm),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

历时半年,终于研发完成了H.265(HEVC)Web网页WebAssembly(wasm)播放的功能,首先得感谢这期间淘宝、Bilibili、金山云、360前端的开发同学的分享和指点,该技术后续将大量用于TSINGSEE青犀视频的EasyNVR、EasyDSS、EasyGBS这些方案,Web播放H.265的支持对于直播、尤其是对于视频的存储,具有较为重要的意义。
今天先简要介绍一下Web支持H.265的场景、方案和重要意义,后续我们来具体介绍一下,我们的EasyPlayer.js支持H.265的用法以及EasyPlayer.js支持H.265的一些技术细节。

Web播放H.265的应用场景

安防

H.265在安防行业已经普及很多年了,而目前大部分的安防可视化项目都还存在于H.264视频展示的阶段或者后端H.265转码H.264的阶段,是无法满足现阶段安防先进性要求的;

直播

早在2019年初,手机淘宝直播就已经支持Web H.265播放了(详情见:通过WebAssembly在移动端解码H.265,https://blog.csdn.net/vn9plgzvnps1522s82g/article/details/88802334),手淘直播对于H.265的支持主要在wasm播放H.265的http-flv流,这不仅有效地降低了直播并发对流量的消耗,更会在后续的视频存储上节省大量的成本。

安防互联网化

安防互联网化的典型场景有:幼儿园直播、明厨亮灶等等,早期这些应用为了支持微信看视频,都采用的是H.264视频编码格式,但是H.265视频H5直播技术的引入,能非常好地解决网速、流量、存储、负载等各方面的压力。

Web播放H.265的方案

在说到Web播放H.265的方案时,有一个深刻的个人体会,就是要找到一款非常适合于自己的东西几乎是很难的,早期在做H.265 H5播放调研的时候,寄希望于各大厂商提供的开放版本,但或多或少都有一些问题或者封闭性,最终还是选择了自己做,尤其是是适合于像我所在的安防互联网化的这个领域,要兼顾的方面比较多。

http-flv协议支持

HTTP-FLV主要用于视频直播,H.264编码采用MSE技术充分调用浏览器和硬件能力,H.265采用wasm的视频软解码能力;

hls协议支持

HLS主要应用于视频点播、录像回放方面,具有较好的平台适应能力;

WebSocket

WebSocket直播协议的引入主要是为了解决实时性和客户端http并发性的问题;

Web播放H.265的重要意义

流量消耗

按流量计费至少能为用户及平台提供商节省50%的流量资源;

存储

在节省带宽流量资源的同时,还能降低存储介质的占用,对于大规模的视频存储和存档,H.265都具备非常大的先天优势;

云计算

对于视频云计算来说,主要的瓶颈有带宽和算力两样,视频算力目前大部分都在往GPU方面去改善,而带宽的优化方面,主要还是需要靠视频压缩算法来进行,那么,目前来说H.265是非常好的选择;

Web播放H.265的效果

目前可以通过TSINGSEE的一些方案可以在线看到演示,例如:demo.easynvr.com

Web HEVC

这篇关于历时半年,终于研发完成了Web网页对H.265(HEVC)直播和点播的支持,WebAssembly(wasm)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688897

相关文章

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或