obs整体工程
- obs
obs程序界面,程序入口,基于qt - libobs
obs的核心集成封装,所有第三方库的集成封装 - blake2
hash算法,据说比sha-1快,安全 - coreaudio-encoder
音频采集,对coreaudio调用封装 - ffmpeg-mux
对ffmpeg封装,解复用 - file-updater
自动升级 - frontend-tools
- get-graphics-offsets
注入库时,通过虚表偏移获取d3d8,d3d9,dxgi的函数,从而实现API重定向,即用自己的函数替换原本的函数。
当然还需依附进程间通信,在win-capture中,使用pipe实现。
两种显卡渲染的实现,使用gpu,解放cpu压力,同时提高渲染效率与质量。 使用着色器语言渲染(定点和片着色器,分别控制位置矢量和色值,感兴趣的同学可以详细了解一下)。gpu映射 - glad
opengl封装 - graphics-hook
hook显卡api,用于抓取软件窗口 - image-source
图片资源,动态图,多张图幻灯片放映 - inject-helper
将graphices-hook注入到其他进程。 - ipc-util
进程间通信,主要封装了pipe管道的实现,用于在hook 游戏进程时,传递原始画面数据,所以用到。 - jansson
json 处理 - libobs-d3d11
- libobs-opengl
- lzma
- media-playback
- obs-ffmpeg
- obs-filters
图像滤镜,亮度,色度,饱和度,抠像 - obs-frontend-api
- obs-outputs
输出模块,录制flv,rtmp调用 - obs-qsv11
intel 硬件编码 - obs-text
GDI+ 渲染文字 - obs-transitions
场景之间切换过度效果 - obs-vst
- obs-x264
x264 编码器 - rtmp-services
rtmp 推流 - text-freetype2
开源字体引擎,支持多种格式,比GDI+高效 - win32-pthreads
- win-capture
窗口,显示器,游戏(涉及进程间通信)捕捉 - win-decklink
针对decklink采集卡的抓取 - win-dshow
摄像头采集 - win-mf
- win-wasapi
针对声音输入(麦克风)输出(扬声器)设备的抓取