- 目录构成 | ├── C++端 | ├── obs-studio:obs源码 | | ├── build:工程文件 | | └── rundir:编译生成的obs程序目录 | ├── dependencies:obs编译的依赖包 | | ├── cef_binary_75.1.14+gc81164e+chromium-75.0.3770.100_windows64:CEF | | ├── win64:64位版本各种依赖包集合 | | └── qt5.15.2:太大需要自行下载 | ├── 打包脚本.nsi | └── obs-studio.ico | ├── web端 | └── Vue3+vite+typescript标准项目
- 工作原理
- 登录+课程页面采用web技术开发,C++&Qt来完成推流任务
- 通过obs自带的CEF,创建一个顶部Qwidget,承载web页面
- 采用一个browser-worker页面完成通信
- CEF和OBS在不同进程中,无法共享数据
- 但是输入源中的browser源,可以与cef交互,能够传参和回调
- 在登录期间给obs添加一个worker,点击课程列表之后自动销毁worker
- 通过传参和写入配置文件来实现最小化、关闭、传推流码等JS->CEF交互
- web端 参考链接
- 依赖:nodejs、npm、vue、vite
- dev: yarn dev
- build: yarn build
- obs端 参考链接
- 依赖: Cmake、Visual Studio2019、Qt
- step1 通过cmake构建工程
- deps
- qt
- cef
- step2 编译运行
- Web端
- login
- course
- worker
- obs端
- window-basic-main.cpp
- obs-browser插件
- web端
- baseUrl
- dev
- obs端
- nisi脚本
- 素材
- obs.png
- obs-studio.ico