OBS (open boardcast server)结构分析
2014-04-02 16:26
330 查看
一,简介
OBS(open boardcast server),是一个用于直播的开源软件。
官方网站:https://obsproject.com/
代码托管地址:https://github.com/jp9000/OBS
git地址:https://github.com/jp9000/OBS.git
二,结构
三,分析
最新的OBS只能在vista以上操作系统中运行,显卡必须至少支持DX10。
OBS的编译需要visual studio 2013(C++11重写了部分代码),当然你也可以switch到老版本下进行编译,但新的特性或bug修正就无法启用了。
OBS包括五大组件,以及一些附加功能:
video source :
a,DShow的capture filter;b,游戏画面,hook部分通过minihook实现,获得的surface分别通过D3D10共享在OBS主窗口上显示,以及通过共享内存发送到OBS进程中进行encode;
c,桌面窗口画面,通过GDI实现;
d,图片;
audio source:
a,麦克风及桌面声音,通过MMDevice获取;b,blank,无声音;
video encoder:
a,x264;b,nvidia cuda video encoder;
c,intel QSV video encode;
audio encoder:
a,MP3,通过lame库实现;b,aac,通过libfaac库实现;
stream destination:
a,rtmp stream,通过librtmp实现;b,file stream,可生成FLV/MP4的文件;
附加功能:
a,音频重采样,通过libsamplerate库实现;b,音频去噪;
c,自动更新;
四,总结:
OBS逻辑上区分的很清楚,但是代码部分非常杂揉。因而作者正在写一个新的跨windows/linux/mac平台的C++11适配的project。
地址:https://github.com/jp9000/obs-studio
相关文章推荐
- OBS (open boardcast server)结构分析
- OBS (open boardcast server)结构分析
- OBS (open boardcast server)结构分析
- OBS (open boardcast server)结构分析
- OpenLayer+PostGIS+GeoServer--无额外后台实现地理分析与查询框架
- OpenRTMFP/Cumulus Primer(6)CumulusServer启动流程分析(续2)
- Linux SCSI子系统分析(一)Open iSCSI的结构
- postGIS+pgrouting+geoserver+openlayers实现最短路径分析
- OpenRTMFP/Cumulus Primer(8)CumulusServer主进程主循环分析
- 主流数据库复制表结构(SqlServer/Mysql/Oracle/Sybase)[语法差异分析]
- OpenRTMFP/Cumulus Primer(7)CumulusServer启动流程分析(续3)
- OpenRTMFP/Cumulus Primer(22)线程逻辑分析之一:RTMFPServer线程的启动和等待
- Darwin Streaming Server程序结构分析
- OpenRTMFP/Cumulus Primer(4)CumulusServer启动流程分析
- OpenRTMFP/Cumulus Primer(23)线程逻辑分析之二:RTMFPManager对RTMFPServer的影响
- 关于strophe 通过 connection manager 连接到 openfire server 失败 的原因初阶分析http://xmpp.org/extensions/xep-0206.ht
- OpenRTMFP/Cumulus Primer(4)CumulusServer启动流程分析
- live555 源码分析:RTSPServer 组件结构
- OpenLayer+PostGIS+GeoServer--无额外后台实现地理分析与查询框架
- OpenRTMFP/Cumulus Primer(5)CumulusServer启动流程分析(续1)