obs相关资料
常见流媒体协议
RTMP: 既可以用来推送又可以用来直播,其核心理念是将大块的视频帧和音频帧拆分,然后以小数据包的形式在互联网上进行传输,而且支持加密, 基于TCP。
HLS: 苹果公司提出的基于HTTP的流媒体网络传输协议。其工作原理是切片式传输,把直播流切成无数片,用户在观看视频时,每次客户端可以只下载一部分。适合移动端使用
FLV: Adobe推出的私有协议,走HTTP,原本只能用flash播,但是B站的 flv.js 弥补了这个缺陷
以上三种协议: 腾讯云,阿里云都是三种协议的播放 但只支持RTMP协议推流
腾讯云直播流播放SDK(支持IOS,ANDROID,IOS,H5播放器)
开源 rtmp库其实有不少 参见 https://github.com/topics/rtmp 哪怕把上面的条件限定到java依然还是有很多的(其中不少是大厂或者收费的了…)
支持以上三种的播放器就更多了,常见的有 谷歌的shaka-player, videojs, flv.js
OBS(Open Broadcaster Software)
https://github.com/obsproject/obs-studio 目前使用最广的推流客户端 全平台 完全开源 完整生态 支持大量插件
国内改版的obs
https://github.com/bilibili/biliobs
https://github.com/alibaba/tblive
streamlabs-obs
基于ts,vue的开源osb客户端 github地址 项目主要使用的技术 vue, node, typescript, electron, 官网 API地址
obs-studio-node 用于封装底层OBS的相关接口
streamlabs-beaker 封装的UI组件
根据上面obs-node库用原生JS做的例子
https://github.com/qlteacher/obs-example