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

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

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

插件的四个入口:

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


分享给朋友:

相关文章

微软Windows 10 下的网络互连命令行测试程序【它会装死!!!】

微软Windows 10 下的网络互连命令行测试程序【它会装死!!!】

刚刚重装一个windows 10 系统之后,购买了一个序列号,然后连网测试网络,使用的是ping命令,偶尔的机会发现它竟然会装死!!!。下面我介绍一下过程。本机IP地址是 192.168.31.238...

Intel 的 snoop star 无人机。

Intel 的 snoop star 无人机。

起飞前。起飞后的聚集。可以形成人形,动态实时距离控制。很不错,非常美。形成Intel标志。 外观 很小巧。很轻的感觉。飞机形成人形的清晰图这个飞机飞的时间不是很长。...

滤波扼流圈的设计与计算

滤波扼流圈的设计与计算

    1.铁芯截面积的计算公式:    Sc——铁芯截面积(厘米2)    L ——电感量(亨)&...

来个游戏的玩法吧。

来个游戏的玩法吧。

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

关于曾经卫星接收过的一点小经验。

关于曾经卫星接收过的一点小经验。

卫星接收这一块有十年没有使用了。现在太空高速发展,对大家来言,只留下了身影,对一般家庭来说,从来都只是听说。所以,科技发达的社会,我来简单的介绍一下,只说卫星电视的接收。卫视的接收分两个波段,一个是C...

谈谈数字数据IP接收

谈谈数字数据IP接收

要说数字接收,早期是用来看股票传股票数据的,最早要算通视接收卡了。通视接收升级了好多代。可以从卫星下载通视卡专用软件,后来的通视卡可以免费看网页。在只有36K/秒和56K/秒的互联网时代,通视卡算是省...