Skip to content

obs 源码分析

基于obs v27.2

目标

主要分析obs和直播平台的深度集成能力,例如,当前支持的youtube,twitch,restream等平台的标准做法, 在分析完整后,提出一种可以集成到我站的能力。

类图

class Auth;
class OAuth : public Auth;

class OAuthStreamKey : public OAuth;

class RestreamAuth : public OAuthStreamKey;
class TwitchAuth : public OAuthStreamKey;
class YoutubeAuth : public OAuthStreamKey;

class BrowserDock;

class YoutubeApiWrappers : public YoutubeAuth;

// 
class OBSYoutubeActions : public QDialog;

类图

graph TD;
    Auth
    OAuth
    OAuthStreamKey
    RestreamAuth
    TwitchAuth
    YoutubeAuth

    BrowserDock

    YoutubeApiWrappers

    Auth --> OAuth
    OAuth --> OAuthStreamKey
    OAuthStreamKey --> RestreamAuth
    OAuthStreamKey --> TwitchAuth
    OAuthStreamKey --> YoutubeAuth

    YoutubeAuth --> YoutubeApiWrappers

类作用详细解析

class Auth和它的子类

Auth 定义了基本的鉴权模型和鉴权种类。

OBSYoutubeActions

OBSYoutubeActions 是一个QDialog的子类,界面中预留了创建新的直播或者使用已经设置的直播配置信息来进行一场新的直播等信息。

用户通过选择合适的信息后,进行立即直播定时直播

互相关系

OBSYoutubeActions 通过调用 YoutubeApiWrappers 来获取channel相关配置信息,并最终将设置透传到obsMainWindow去。

OBSYoutubeActions