当前位置:首页 > 我的杂物 > 正文内容

OBS 插件开发所需要的数据结构。

Peirre6年前 (2020-07-05)我的杂物1353

插件的四个入口:

plugins_sources

plugins_outputs

plugins_encoders

plugins_services

OBS软件的三个主线程函数:

obs_graphics_thread_    (obs-video.c)

video_thread_                    (video-io.c)

audio_thread_                   (audio-io.c)

输出通道:

obs_set_output_source()   

displaying_sources

OBS 图形线程函数:

obs_graphics_thread_     (obs-video.c)

MAX_CHANNELS_-1              频道参数为1

视频处理程序

obs_core_video::video

和帧数有关的

MAX_CACHE_SIZE_             视频缓冲池

video output handler        视频函数句柄

就是视频播放卡顿问题。

obs-encoder.c                     OBS 视频解码

音频管道:

audio_thread                    (audio-io.c)

AUDIO_OUTPUT_FRAMES_    音频缓冲池

audio_callback               (obs-audio.c)音频采样回放

obs_source_output_audio_                 音频输出函数

obs_source::audio_input_buf              音频缓冲池函数

obs_source::audio_input_buf        放入音频缓冲池

obs_source::audio_output_buf    由此函数缓冲池输出


函数源码

_obs_graphics_thread

obs-video.c

obs-audio.c

_video_thread

video-io.c

_video output handler

_audio_thread

audio-io.c

_MAX_CHANNELS

_obs_core_video::video

_MAX_CACHE_SIZE

_AUDIO_OUTPUT_FRAMES

_audio_callback

_obs_source_output_audio

_obs_source::audio_input_buf

_obs_source::audio_output_buf

_obs_source_info::audio_render

初始化OBS:

obs_startup();obs_reset_video();obs_reset_audio()

初始化必须调用的三个函数

个人使用函数

obs_init_module()    初始化OBS模块

obs_open_module()  打开OBS模块

模块相关

obs_add_module_path();obs_load_all_modules();   自动装载OBS模块

obs_post_load_modules()                                                     OBS 插件装载模块

obs_startup()                  设置配置开始模块

bnum_allocs()                清空模块链接空间

obs_shutdown()            卸载所有模块


分享给朋友:

相关文章

Blender自由软件模型参考(1)-例子和自己制做的。

Blender自由软件模型参考(1)-例子和自己制做的。

例子:东京塔 原稿下载:TokyoTower .zip新式养猪塔楼  原稿下载:pig.zip水晶塑料花 原稿下载:volume_emission_27.zip音乐合成歌手-马优 原稿下载:...

来个游戏的玩法吧。

来个游戏的玩法吧。

早期的DOS游戏复杂度大一点的,比如说大航海时代2。又好玩又免费,如果加上一个地球仪就很有意思了。这个游戏有很多数值,地图数据和世界地图一样,不过细节上不一样。玩这个游戏可以学到很多地理知识。乐趣也很...

谈点我研究雷达的那点事情。

谈点我研究雷达的那点事情。

说实话雷达并不是我的第一个项目。有关雷达的研究,大家可以看我的这个网站的其它文章。说实话这个网站一开始就是为了研究雷达和电子测量开的网站。一直想以这个题材为中心。这个雷达项目绝对是一个好题材。深入研究...

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

最近在翻览intel公司的CPU开发白皮书,对CPUID这个指令做了一下了解。CPUID这个指令就像一个功能函数一样,只要CPU的寄存器EAX有数据,它会在执行CPUID指令后返回到EAX,EBX,E...

电脑上的卫星电视的条件接收和接收最新密钥[国外]

电脑上的卫星电视的条件接收和接收最新密钥[国外]

卫星电视条件接收有几种。我现在介绍一个常用的。注:我的天线和卡搬新家之后一直没装,只介绍电脑部分。使用dvbdream这个软件。开始DVBDream这个软件后,会选择卫星接收卡这个设备,如果电脑安装这...

这几天的木讷。

8月份,天气暖和,几天有雨。生活中不知道说些什么,每天过着扫地生活。世界新闻,塔利班成了阿富汗政府。是一个快节奏的新闻。这几年的世界,变化有点大。不过以前也没关注过什么。自己的生活感觉就样乱石堆。曾经...