当前位置:网站首页>H5网页播放器EasyPlayer.js如何实现直播视频实时录像?
H5网页播放器EasyPlayer.js如何实现直播视频实时录像?
2022-07-07 06:46:00 【TSINGSEE】
EasyPlayer系列做了整整8年了,从最开始的EasyPlayerRTSP版,到后来的RTMP版、Pro版、js版,受众用户已经不计其数了,希望EasyPlayer能一如既往地优秀下去。

最近,有位用户对我们的EasyCVR提出了一种关于播放器实时录像的需求。按照以往的概念,网页怎么能像C/S客户端那样做实时的视频录像呢?因为浏览器写本地文件几乎是不可能的一件事情。
在以往的做法中,实现这种用户需求,基本上也就是采用“后端+前端”配合的方式来实现这种录像功能。后端收到前端录像的指令,将要发往前端的音视频数据先预存一份在服务端,当收到前端的停止录像指令后,再将整个缓存的数据,打包封装成MP4,提供给用户下载。

事实上,这种方式其实是非常不合理的。试想一下,如果有成千上万的用户在使用这个功能,服务端不但要缓存数据,还要封装数据,还要维护Session和Download数据(实际这个数据已经从直播输出给客户端一次了)。这种做法既是一种流量的浪费,又是计算资源的浪费,不符合技术开发者的工匠思想。
对于“后端+前端”这种不合理的实时录像方式,我们要想办法改善,采用更为合理的“去中心化”做法。
于是,经过了大量的调研和开发,我们摸索出了一套采用wasm前端“转码+合成”的方案,我们通过wasm(WebAssembly)将ES流进行转码和封装,成为MP4录像需要的“H.264/H.265+AAC”的数据,再从BLOB下载合成后的数据就搞定了!这实在是非常棒的一个功能!


我们的EasyPlayer视频流媒体系列播放器,可支持H.264/H.265视频编码,并拥有多个版本,包括EasyPlayer-RTSP、EasyPlayer.js、EasyPlayerPro等,用户可以根据自身的需求对其进行二次开发或自主集成。感兴趣的用户可以前往官网下载、部署和测试。
边栏推荐
- Port multiplexing and re imaging
- C language pointer (exercises)
- Storage of data in memory
- Error: selenium common. exceptions. WebDriverException: Messag‘geckodriver‘ execute
- PMP experience learning and sharing process
- E-commerce campaign Guide
- When inputting an expression in the input box, an error is reported: incorrect string value:'\xf0\x9f... ' for column 'XXX' at row 1
- Locust performance test 3 (high concurrency, parameter correlation, assembly point)
- Pytest installation (command line installation)
- 网易云微信小程序
猜你喜欢

Huawei hcip datacom core_ 03day

Network request process

stm32和电机开发(从单机版到网络化)

Detailed learning notes of JVM memory structure (I)

信息安全实验三 :PGP邮件加密软件的使用

Hard core sharing: a common toolkit for hardware engineers

Postman interface test (I. installation and use)

PMP Exam details after the release of the new exam outline

PMP certificate preparation experience sharing

Information Security Experiment 1: implementation of DES encryption algorithm
随机推荐
Connecting mobile phone with ADB
Record of structured interview
[SVN] what is SVN? How do you use it?
5A summary: seven stages of PMP learning
MySQL common statements
Two schemes of unit test
Redis common commands
Pytest+request+allure+excel interface automatic construction from 0 to 1 [familiar with framework structure]
Jenkins modifies the system time
Mysql:select ... for update
嵌套(多级)childrn路由,query参数,命名路由,replace属性,路由的props配置,路由的params参数
数据建模中利用3σ剔除异常值进行数据清洗
Postman setting environment variables
Some pit avoidance guidelines for using Huawei ECS
Pytest+request+allure+excel interface automatic construction from 0 to 1 [five nails / flying Book notice]
MySql数据库-事务-学习笔记
战略合作|SubQuery 成为章鱼网络浏览器的秘密武器
四、机器学习基础
Add new item after the outbound delivery order of SAP mm sto document is created?
PMP Exam Preparation experience, seek common ground while reserving differences, and successfully pass the exam