一、OBS概述

1. 概述

obs官网
git源码
编译

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 哈希算法

【学习地址】:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

一、OBS概述_第1张图片

一、OBS概述_第2张图片  

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)时,不生成此模块

你可能感兴趣的:(编程,音视频开发,程序员,ffmpeg,音视频,人工智能,python,c++)