1. 概述
2. 软件能力
输入:文本、图片、窗口、音视频及摄像头等
处理:视频及图片滤镜、音频混音等
输出:rtmp推流、本地录制(mp4)、音视频裸数据(pcm/yuv/rgb)等
3. 模块
a. core核心模块
libobs 加载、管理各个功能模块及插件
libobs-d3d11 封装d3d接口
libobs-opengl 封装opengl接口
libobs-winrt 封装winrt接口
b. deps依赖库
glad 封装opengl,利用dlopen和dlsym提取并调用动态库函数
ipc-util 进程间通信 封装pipe,用于hook游戏进程时,传递原始画面数据
jansson 编码、解码、操作json数据
w32-pthreads windows下的pthread线程库
lzma:压缩算法 7-zip中的默认算法
caption 创建并解析CC(Closed Caption)字幕
blake2 哈希算法
c. frontend前端
aja-output-ui 支持aja设备输出
decklink-output-ui 支持decklink设备输出
frontend-tools 菜单->工具->ui界面
obs 软件主界面
obs-frontend-api 界面独立接口,每个函数直接调用主界面的接口
d. plugins插件
aja 抓取aja设备数据
decklink 抓取decklink设备数据
enc-amf 编码管理
obs-browser 浏览器,封装cef
obs-ffmpeg nvenc(N卡硬编码) aac编码 复用 编解码流程控制等
win-capture 窗口、显示器采集
win-dshow 摄像头采集
coreaudio-encoder 音频编码器
image-source 支持图片及幻灯片放映
obs-filters 图像滤镜(亮度、色度、饱和度等)
obs-outputs 输出(本地保存,推流)
obs-qsv11 intel硬编码 效果优于软编码和N卡硬编码
obs-text GDI+渲染文字
obs-transitions 场景间切换效果
obs-vst virtual studio technology声音效果器
obs-x264 Obs-x264-test 264编码器
rtmp-services rtmp推流
text-freetype2 开源字体引擎,支持多种格式,优于GDI+
vlc-video vlc视频播放
win-mf windows media foundation加载
win-wasapi 采集麦克风、扬声器等设备
e. scripting脚本
obslua 运行lua脚本
obspython 运行python脚本
obs-scrption 控制脚本运行
f. tests and examples 测试demo
test-input 简单的plugins示例
win-test libobs调用流程示例
附:自动编译(CI\build-windows.ps1)时,不生成此模块
4. 参考
obs-studio模块分析与源码编译 - 简书 (jianshu.com)
https://blog.csdn.net/u013495598/article/details/113651545