@obsjs/core
TypeScript icon, indicating that this package has built-in type declarations

0.1.21 • Public • Published

obs.js

应用场景

目前市面上的直播或者会议类场景应用具备合流和流处理能力的应用基本都是客户端为主,比如各种直播平台的直播端、腾讯会议、以及主流的开源串流应用OBS等等。OBS十分强大,几乎能解决直播和视频会议场景下的所有问题。不过,OBS是基于C语言写的客户端软件,它并不能做到真正的跨平台,并且很难像web一样灵活的封装一些个性化的需求。目前WebRTC标准的不断完善,Web Workers让多线程运算成为可能,WebGL和WebGPU的GPU运算加持,TensorFlow.js为前端机器学习赋能,让web版OBS成为可能。

解决的痛点

目前市面上缺少基于web对媒体流进行深度编辑能力的工具,普遍就是采集到媒体流就直接推送出去,不具备调整画面和声音的能力。然而使用OBS软件又不能很好的通过网页去控制OBS(obs-websocket可以实现很多能力,但是不够集成),比如权限管理和导出导出云端配置等等。参考到国外一些网页版的收费串流应用,结合目前已有的一些前端技术,希望通过web的方式整合各种技术能力实现对OBS功能的覆盖和替换。

名词 & 术语解释

混流:多个视频流或者音频流合成一个流或多个流

ASR: 腾讯云语音识别服务

详细设计

架构设计

架构图

技术实现

实体关系图

主要模块

除了最外层的OBS类以外还有VideoStage和AudioMixer两个模块,分别负责视频和音频两个部分,每个模块可以拎出来独立运作,并且可以自由控制内部的每个source。

重要改动!!!

目前核心部分只包含处理流模块,采集流和推送流已经抽离为独立模块。原因是采集流和推送流并非很难的功能,而且市面上已经有很多种实现了,完全可以用自己熟悉的方式。

Readme

Keywords

none

Package Sidebar

Install

npm i @obsjs/core

Weekly Downloads

1

Version

0.1.21

License

MIT

Unpacked Size

1.05 MB

Total Files

28

Last publish

Collaborators

  • zy308718320