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

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

Peirre5年前 (2020-07-05)我的杂物1315

插件的四个入口:

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()            卸载所有模块


分享给朋友:

相关文章

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

雷达大家都见过(起码电视上见过),每次看到觉得很爽啊,能探测各种障碍物,要是自己能够拥有一个就太棒了。而有人不光敢想,更敢于将想法付诸实践(这也是我们所缺少的),他真的做出了一个非常酷的USB雷达。雷...

2018-1-31月全食

2018-1-31月全食

今天是150年来一次的月全食,刚刚上顶楼看了一下,没有做好准备,月亮拍照月亮小了点,于是,下楼在自己的房间上网看。今天终于看到了大月亮。截几张图片,这个视角,可以看月亮旁的飞机,汽车,房子。汽车,飞机...

Ubuntu Linux  19.10 下 完善街机模拟器。

Ubuntu Linux 19.10 下 完善街机模拟器。

Ubuntu linux 下有个共享软件库,可以用apt软件工具下载,当中有个街机模拟器叫mame。让我们一起免费在家玩街机游戏吧。nantz@nantz-desktop:~$ sudo apt li...

来个游戏的玩法吧。

来个游戏的玩法吧。

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

国际空间站日常,留备日后常看。

国际空间站日常,留备日后常看。

留备日后日常查看。白天看可能效果好一些。国际空间站直播视频地址:http://live.bilibili.com/14047不定期有活动或常规事件,欢迎观看,这个窗口是实时的。2017/12/26 2...

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

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

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