OBS 源码解析一
源码 解析 obs
2023-09-27 14:27:27 时间
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
针对声音输入(麦克风)输出(扬声器)设备的抓取
相关文章
- 维特比译码213,维特比译码217源码
- 深入理解Spark:核心思想与源码分析. 3.7 创建和启动DAGScheduler
- Java IO 之 OutputStream源码
- IDEA配置Tomcat源码
- 源码解析二 模型转换 export.py
- 《Android 源码设计模式解析与实战》——第1章,第1.5节系统有更高的灵活性——接口隔离原则
- 《重构HTML:改善Web应用的设计(修订版)》——第2章 工具 2.1 备份、测试用机和源码控制
- ConcurrentHashMap源码解析_04 transfer方法源码分析(难点)
- JDK集合源码之ArrayList解析(附带面试题举例)
- SwiftUI watchOS 瀑布流组件之仿CollectionView不规则图文混合(教程含源码)
- SwiftUI TextField教程之如何绑定字典变量Dictionary(教程含源码)
- SwiftUI Sheet退出后调用onAppear (教程含源码)
- Python爬虫教程之五大重要库入门使用教程Scrapy、Requests、Urllib、Beautiful Soup、Selenium(教程含源码)
- 好资源网站源码,模板,js代码。---http://www.goodziyuan.com/ (内容空)
- macOS SwiftUI教程之打开文件并获取本地文件的类型标识符UTType(教程含源码)
- Android 开发框架源码解析:“Retrofit、Okhttp、ButterKnife、Glide....”
- 【毕业设计_课程设计】在线免费小说微信小程序的设计与实现(源码+论文)
- 《Python数据可视化之matplotlib实践》 源码 第一篇 入门 第四章
- 多目标遗传算法 ------ NSGA-II (部分源码解析)状态报告 打印 report.c
- springboot+vue考研资讯平台(源码+文档)
- hadoop2.6.5 Mapper类、Reducer类源码解析
- petite-vue源码剖析-逐行解读@vue/reactivity之reactive
- JavaScript 的json源码
- api网关揭秘--spring cloud gateway源码解析
- spark源码解析之基本概念
- abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析