npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@obsjs/core

v0.1.21

Published

obs.js

Downloads

11

Readme

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。

重要改动!!!

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