OBS源码学习笔记(一)
·
昨天才知道obs原来是开源的,很兴奋,把obs源码下载下来编译了一下,虽然中间还是出现了一些问题,但总算顺利编译出可执行文件,并可以调试,了解了下OBS的主要代码,界面主要是用qt编写。
- obs-app.cpp是main入口文件,然后通过load_debug_privilege函数,修改了下进程的权限,调用base_set_crash_handler设置全局的crash_handler,crash_param;
- 设置def_log_handler函数作为日志打印函数;
- 接下来的判断命令行参数,一般上命令行参数argc都为1,没有参数;
- 下面调用upgrade_settings函数,它内部先执行GetConfigPath将系统用户的路径拼接上自己的路径得到一个新路径;通过os_opendir获取到目录下第一个句柄,然后通过os_readdir遍历目录下每个文件,接下来是一大堆关于ffmepg输出配置,编码器配置相关的东西,后面再看哪里用到这些东西吧,没通篇读一遍,现在看实在太麻烦了。
- 下面设置好curl,然后调用run_program启动主流程;
- 接下来创建OBSApp(继承QApplication),调用AppInit进行初始化,create_log_file创建日志文件,调用OBSInit启动界面;
更多推荐
已为社区贡献1条内容
所有评论(0)