![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
obs
haoxiangnia111
这个作者很懒,什么都没留下…
展开
-
ffmpeg音视频处理流程+文件
ffmpeg音视频处理流程原创 2022-10-20 16:00:50 · 95 阅读 · 0 评论 -
socketio cpp c++使用流程
socketio cpp原创 2022-09-22 19:44:48 · 553 阅读 · 0 评论 -
win10 sdk各种版本下载地址
https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive/原创 2022-01-17 14:12:10 · 9869 阅读 · 1 评论 -
【基于obs开发推流工具教程】-win-dshow,wasapi时间频率分析
麦克风获取地方:一,win-wasspiWASAPISource::ProcessCaptureData()麦克风和电脑混音都从此地方获取二,win-dshowReceive(bool isVideo, IMediaSample *sample)YY虚拟摄像头情况下,视频数据是无编码状态,音频是无编码状态videostart时间正常,audiostarttime时间不正常,此值不规律增加,会造成音频声音延后。三,时间分析2种处理方式都会在处理source_output_audio原创 2021-12-21 15:26:15 · 599 阅读 · 0 评论 -
【基于obs插件-10】-鼠标,键盘,游戏柄展示插件
input-overlay 插件的主要功能是:插件名称:input-overlay.dll版本用的最新版本作用:能监控键盘,鼠标,游戏句柄等操作,然后显示出来。,对于教程类、游戏操作类的演示类都是必不可少的插件。安装:与其他插件一样,简单下载地址:git操作步骤:添加源配置输入历史配置鼠标样式配置键盘样式配置手柄样式配置文件详细分析,以及如何自定义效果展示:这是其中一个例子,其他需要自己配置。...原创 2021-11-11 18:00:24 · 5264 阅读 · 0 评论 -
【基于obs插件-9】-场景转场特效 motion-transition
motion-transition 插件的主要功能是:插件名称:motion-transition.dll版本用的最新版本作用:场景切换时候有比较好看的过渡动画。安装:与其他插件一样,简单下载地址:git配置效果:在场景切换的时候,有比较好看的过度效果。滤镜里面 的motion插件为空,可能是版本不对。...原创 2021-11-11 16:38:14 · 1906 阅读 · 0 评论 -
【基于obs插件-8】-NDI摄像机插件
obs-ndi 插件的主要功能是:插件名称:live2d_plugin.dll版本用的最新版本作用:在obs上显示一个虚拟的动态卡通人物,难度虚拟人物的制作,作者没描述,用自带的例子实现。安装:与其他插件一样,简单下载地址:git是OBS具备通过局域网IP地址添加具备NDI技术的输入和输出设备,包括3个主要部分-NDI Source: 像传统视频源那样添加NDI视频源-NDI Output: 把obs的主画面输出为1路NDI信号,功能类似于上一节的virtualcam但是这个是支持整个局域网的原创 2021-11-11 11:15:47 · 4792 阅读 · 0 评论 -
【基于obs插件-7】-2D虚拟人物插件
2D虚拟人物插件插件名称:live2d_plugin.dll版本用的最新版本作用:在obs上显示一个虚拟的动态卡通人物,难度虚拟人物的制作,作者没描述,用自带的例子实现。安装:与其他插件一样,简单下载地址:git文件:配置和效果:...原创 2021-11-05 17:52:59 · 2747 阅读 · 0 评论 -
【基于obs插件-6】-滤镜效果插件
滤镜效果插件:插件名称:obs-shaderfilter.dll 版本1.2作用:在obs原生滤镜的基础上还增加了特别多种滤镜效果,大大增强了滤镜的功能性。安装:与其他插件一样,简单。滤镜效果包括:在这里插入图片描述操作:效果:在这里插入图片描述参考:https://zhuanlan.zhihu.com/p/144379657...原创 2021-11-05 15:16:09 · 3205 阅读 · 0 评论 -
【基于obs插件-5】-屏幕截图
屏幕截图:插件名称:scrab.dll 版本最新作用:绑定快捷键之后,可以进行简单的屏幕截图,不需要填写文件名,也不需要手动添加到obs上,真正的截图助手。安装:与其他插件一样,简单配置:效果:...原创 2021-11-05 11:34:54 · 2134 阅读 · 0 评论 -
【基于obs插件-4】-音频频谱
音频频谱:插件名称:spectralizer.dll 版本用的最新版本作用:在obs上显示一个可以定制化的动态音频频谱图案,可以多音频进行可视化,对于音乐类主播必不可少。显示麦克风和音频设备印谱安装:与其他插件一样,简单效果展示:Audio Visualizer: 设置声波频谱的音频源Filter: 音效插件Color:颜色Bar Width:音量柱宽度Bar height: 音量柱高度Bar spacing:音量柱间隔Eanble automatic scaling:开启自动缩放原创 2021-11-05 11:02:06 · 1648 阅读 · 0 评论 -
【基于obs插件-3】-远程控制插件
远程控制插件:插件名称:remote-websocket.dll 版本4.8作用:利用ws实现高效低延迟的局域网远程操控,让用户可以通过局域网内的其他设备,如手机、ipad、平板,进行常用的obs操作。主要能操作音频和切换频道,在局域网内部操作安装:与其他插件一样配置效果:client 登录地址:https://t2t2.github.io/obs-tablet-remote/在这里插入图片描述拓展:和浏览器插件组合,实现弹幕监控,互动管理和midi设备组合,实现硬件midi键盘原创 2021-11-04 16:04:00 · 2071 阅读 · 0 评论 -
【基于obs插件-2】-多路推流
多路推流插件:安装obs-multi-rtmp.dll插件可以同时推送B站,抖音,淘宝等多个平台。没有安装包,需要自己拷贝文件,比较简单展示效果:原创 2021-11-04 11:01:21 · 840 阅读 · 0 评论 -
【基于obs插件-1】-虚拟摄像头
虚拟摄像头:安装obs-virtualcam-2.0.5-Windows-installer 插件效果展示:原创 2021-11-03 18:19:55 · 2878 阅读 · 0 评论 -
【基于obs开发推流工具教程】--图片,文本,视频渲染分析
场景不同数据源渲染分析渲染绑定地方:mp4渲染:obs_source_render_async_video图片渲染:image_source_render文本渲染:ft2_source_render其他过滤,窗体渲染汇总原创 2021-10-25 15:56:50 · 299 阅读 · 0 评论 -
【基于obs开发推流工具教程】--推送混音的流程
第一采集:音频的采集放到source的inputobs_source_output_audio->process_audio->source_output_audio_dataobs_source_output_audio:底层的wasapi_output_capture wasapi_input_capture ffmpeg_source初始的声音源走着source_output_audio_data :然后数据源到source 的inputbuf麦克风和本地音频在一个线程,每个mp原创 2021-09-18 15:31:48 · 584 阅读 · 0 评论 -
opengl处理图片翻转
https://www.jianshu.com/p/7161cd2ad3e4iOS纹理翻转解决策略第1种: 旋转矩阵翻转图形,不翻转纹理让图形顶点坐标旋转180°. 而纹理保持原状.GLuint rotate = glGetUniformLocation(self.myPrograme, "rotateMatrix");float radians = 180 * 3.14159f / 180.0f;float s = sin(radians);float c = cos(radians);转载 2021-09-07 14:18:56 · 748 阅读 · 0 评论 -
opengl 环境配置
https://blog.csdn.net/almost_afei/article/details/115464605本文选择最新的库,安装glad+glfw,同时安装glm和SDL。原创 2021-09-07 09:52:41 · 100 阅读 · 0 评论 -
glsl比较详细的介绍
这里假设OpenGL Shading语言编译器的后台在不同的硬件平台上的实现是不一样的。每一个后台实现只需要理解前端生成的统一的shader的高级表示,然后针对不同的硬件平台做各自的优化。这里就是硬件研发商展示自己实力的时候了,他们根据自己硬件的特点,将一样的高级shading语言转换成适用于各自平台的和硬件相关的代码。类似的,处于连接状态的代码也是和硬件高度相关的,因为在这个状态,要进行给变量分配适当的内存位置。 2.5.3 OpenGL API 扩展 目前,对于OpenGL shading语言的支持并原创 2021-09-06 15:32:11 · 437 阅读 · 0 评论 -
【基于obs开发推流工具教程】-context 多线程问题
微软的文档讲wglMakeCurrent时并没有说清楚一些问题:它讲这样用是可以的:A thread用 wglCreateContext建立context;B thread用wglMakeCurrent绑定context;但是缺少了两点说明,否则你看不到图像更新(返回值都正常),或者wglMakeCurrent返回奇怪的错误:1.创建context的A线程不能退出了,否则即使B线程绑定了,也得不到图像更新;2.有些显卡(我试过Intel的显卡)需要A线程线程解绑定wglMakeCurrent(0,原创 2021-09-03 10:05:01 · 289 阅读 · 0 评论 -
【基于obs开发推流工具教程】-opengl 创建上下文和交换缓冲区分析
一,在线程创建上下文程序中只有一个hrc opengl上下文,有多个通道有多个hdc,流程是窗体-》hdc二,显示不同的内容hdc位置设置不同的hdc ,然后在进行渲染。渲染用的一个纹理+fbo+glsl方式显示。...原创 2021-09-02 11:36:36 · 143 阅读 · 0 评论 -
SeetaFace6开源项目VS2017 编译
一,下载下载SeetaFace6编译支撑库跟v2编译流程不同的是,在正式编译人脸检测(FaceBoxes),关键点(Landmarker)以及识别(FaceRecognized6)之前,需要先编译三个基础模块:OpenRoleZoo: 常用操作函数的集合TenniS: 模型前向推理框架SeetaAuthorize:模型解密库例如:二编译其他库例如FaceAntiSpoofingX6屏蔽这两个库,在find package 没找到(后续看怎么设置)然后cmake...原创 2021-06-16 18:35:38 · 651 阅读 · 0 评论 -
【基于obs开发推流工具教程】-opengl渲染 -着色器源码-贴图分析
一,着色器源码:如果通过effect ->着色器源码的,主要通过effect 解析,然后拼接的源码举例:defult.effect拼接的顶点着色器源码,处理的位置:通过这个地方进行effect解析。着色器源码拼接的地方...原创 2021-05-28 18:34:08 · 233 阅读 · 0 评论 -
【基于obs开发推流工具教程】-opengl着色器源码分析
一,OBS openggl main 顶点着色器和片段着色器源码分析核心的代码区域:一个是顶点着色器,一个是片段,源码是通过字符串拼接的在default.effect 着色器源码中:拼接后的结果:,1 , #version 330const bool obs_glsl_compile = true;uniform mat4x4 ViewProj;in vec4 inputval_vert_in_pos;in vec2 inputval_vert_in_uv;out vec2 outpu原创 2021-05-27 16:26:22 · 330 阅读 · 4 评论 -
【基于obs开发推流工具教程】-工作室模块推流地方分析
第一,推送音频的地方在这里插入图片描述核心代码:疑问:为什么要stopped = stop_audio(transition);transition->transition_sources[0] = transition->transition_sources[1];transition->transition_sources[1] = NULL;把transition_sources【0】清空,是以前的预览元素第一,推送视频的地方第三,麦克风控制地方为什么要换成f原创 2021-04-25 18:11:45 · 153 阅读 · 0 评论 -
【基于obs开发推流工具教程】-多路推流,
基于版本obs25.0.8一, 同一数据源推不同的后台服务1,创建输出对象2,创建推送的server信息3,直接推送验证结果:两个不同的拉流地址不同画面推流画面地方控制:二,推送不同的画面和音频到不同的rtmp服务器多个outhanl控制(控制不同的画面可同时推出到不同发rtmp流媒体服务)关键代码地方:static void receive_video(void *param, struct video_data *frame);static void receive_au原创 2021-04-19 11:06:48 · 491 阅读 · 0 评论 -
【基于obs开发推流工具教程】-OBS 人脸特效facemask-plugin如何调用
通过facemask-plugin效果展示:第一步:拷贝data资源文件拷贝到:第二步:处理facemask-plugin 的运行异常1,//subdiv.getTriangleIndexList(triangleList); 屏蔽,要用pencv 更高级的版本2,gs-texture.cpp 101 行 /m_texture = gs_cubetexture_create(size, format, mip_levels, mip_data, (flags & Flags::Dy原创 2021-02-23 15:27:02 · 1804 阅读 · 0 评论 -
【基于obs开发推流工具教程】-OBS 人脸特效facemask-plugin的编译
第一步下载资源a,facemask-plugin:https://github.com/stream-labs/facemask-plugin注意:tirdpartyd的3个资源包分开下载,资源包很大由于网速差资源下载很慢,多试几次,下载了几天才成功b:下载OBS源码,用的是OBS25.0.8版本第二步编译添加OBS source的路径编译后的由于源码中opencv.lib的版本是4.0.0编译后报错需要高版本的opencv,有空在验证第三步,验证拷贝需要的库到plugins中原创 2021-02-19 16:21:04 · 1326 阅读 · 0 评论 -
【基于obs开发推流工具教程】-导出音视频文件方式
1,创建的接口obs_output_t *obs_output_create(const char *id, const char *name,obs_data_t *settings, obs_data_t *hotkey_data)2,创建的方式a,id:“ffmpeg_encoded_output” --ffmepg标准方式输出b,id:“ffmpeg_muxer” -标准输出方式c,id:.“replay_buffer” --缓存回放d,.id :: “flv_output”原创 2021-02-02 16:07:20 · 1536 阅读 · 0 评论 -
【基于obs开发推流工具教程】-滤镜创建的流程
操作入口:第一步:打开滤镜管理窗体source:选择的数据源第二步:添加选择的滤镜id:滤镜的Id 亮度键id:luma_key_filter第三步:在数据源中保存添加的滤镜,保存在缓存中原创 2021-02-02 11:22:23 · 455 阅读 · 0 评论 -
OBS 如何添加qt 的ui文件
OBS 上层界面是用QT+C++11来完成的,对OBS进行开发需要添加自己新的ui界面,以下是添加ui的过程第一:用qtcreator创建窗体文件第二:拷贝文件到OBS自建目录第三:把新文件添加到cmake里面然后把自定义的目录的cpp,h ,ui 添加到工程里面最后结果:...原创 2021-01-13 16:56:12 · 849 阅读 · 0 评论 -
OBS 编译缺少Could NOT find LibVLC_INCLUDES win-dshow plugin disabled
编译OBS的时候碰到的问题第一:libdshowcapture submodule not found! Please fetch submodules. win-dshow plugin disabled.CMake Warning (dev) at D:/test/obs-source/文件包/cmake-3.17.4-win32-x86/cmake-3.17.4-win32-x86/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.原创 2021-01-12 18:20:39 · 2047 阅读 · 0 评论 -
obs 虚拟摄像头插件obs-virtualsource.dll注册失败问题0x80070005 和自配置
先把编译好的obs-virtualsource.dll和obs-virtualoutput.dll,obs版本号是25.0.8,虚拟摄像头插件是2.0.5需要自己编译,前面有介绍一,把编译好的obs-virtualsource.dll文件拷贝和obs.exe同级目录二,把obs-virtualoutput.dll插件库拷贝到obs-plugins目录三,如果要显示中文把locale等信息文件拷贝到 data目录注意如果编译的是32的摄像头插件,在regsvr32 注册的时候一定要以管理员原创 2021-01-08 21:59:22 · 3750 阅读 · 0 评论 -
【基于obs开发推流工具教程】-编译virtualcam 2.0.5虚拟摄像头
编译virtualcam 2.0.5虚拟摄像头环境:vs2017 ,cmake3.17,obs25.0.8 ,virtualcam 2.0.5,qt 5.12第一步要把obs先编译好1,下载virtualcam 2.0.5https://github.com/Fenrirthviti/obs-virtual-cam/releases/tag/2.0.52,cmake配置按照自己电脑的环境进行配置,现在编译的是32位的。3,生成的工程...原创 2021-01-08 14:55:35 · 2456 阅读 · 5 评论 -
OBS常用的插件
remote-websocket 远程控制插件spectralizer 音频频谱virtualcam 虚拟摄像头NDI 局域网视频无线传输技术NDI插件shader filter 文字图片特效滤镜transition matrix 过渡矩阵scrab 截图lower third in html/css 文字运动特效input overlay 输入显示motion-effect 动画效果reply source 回放控制advanced scene switcher 高级场景切换器PT转载 2021-01-08 11:19:12 · 6645 阅读 · 0 评论 -
【基于obs开发推流工具教程】-录制,推流音视频编解码创作流程
记录obs高级模式下地方(AdvancedOutput),简单模式在SimpleOutput一,视频初始化: AdvancedOutput 初始化函数OBSEncoder h264Streaming;//推流视频编码OBSEncoder h264Recording; //录制视频编码OBSEncoder streamAudioEnc; //推流音频编码OBSEncoder aacTrack[MAX_AUDIO_MIXES]; //给录制和缓存播放音频编码,高级设置支持6个音轨。简单模块式的音频原创 2021-01-07 18:47:57 · 351 阅读 · 0 评论 -
基于obs开发推流工具教程】-摄像头数据采集和渲染流程
一,OBS摄像头渲染涉及到两个线程1,win-dshow.dll:摄像头设备信息采集,数据的采集(DShowThread线程)2,libobs.dll :摄像头数据的渲染(obs_graphics_thread线程)二,摄像头数据采集(win-dshow)DShowThread-》obs_source_output_video2-》obs_source_output_video_internal-》三,摄像头数据显示流程(libobs.dll)obs_graphics_thread->t原创 2020-12-31 11:59:33 · 857 阅读 · 0 评论 -
OBS音频数据混音、编码、推流数据流程
转发:https://blog.csdn.net/haoxiangnia111?spm=1001.2014.3001.5343转载 2020-12-25 17:22:25 · 222 阅读 · 0 评论 -
【基于obs开发推流工具教程】-数据源属性设置和主面板数据同步流程
数据源属性设置和主面板数据同步流程1,文本的UI控制的流程第一步:保存属性设置里面修改的信息WidgetInfo::ControlChanged()->WidgetInfo::TextChanged(const char *setting)->obs_data_set_string(view->settings, setting, QT_TO_UTF8(edit->text())); //source 信息改变了第二步:修改source的1,WidgetInfo::原创 2020-12-24 18:32:51 · 364 阅读 · 1 评论 -
【基于obs开发推流工具教程】-direct主窗体渲染 RenderMain分析
一,控制能选择数据源部分代码:window->ui->preview->DrawSceneEditing();二,数据源溢出控制window->ui->preview->DrawOverflow(); //控制数据源溢出三数据源具体内容控制地方文本:obs_graphics_thread-》tick_sources-》obs_source_video_tick-》obs_source_deferred_update-》TextSource::Update原创 2020-12-24 15:19:46 · 223 阅读 · 0 评论