RenderStream 智能连接Filter

Unity RenderStreaming流渲染(一) “流渲染”是一种解决Web端海量空间数据可视化的新思路,unity引擎产商推出的“云渲染”方案是基于WebRTC的视频流推送技术,它就是RenderStreaming插件。基本原理是将场景通过后端的渲染,之后使用实时的视频流推送至前端界面,可实现前后端的同步交互。 接下来就是进行Unity RenderStreaming的基操,先安装展示此插件的功能开始。 (一)创建打开一个Unity工程文件,选择Window—>Package Manager打开如下页面: 在Advanced中勾选Show dep 阅读详情

RenderStream 智能连接Filter


  ICaptureGraphBuilder2::RenderStream方法可以同时将两个或者三个filter连接成一个链(chain)。通常情况下,当每个filter只有一个输出pin和一个输入pin时,这个方法就才适用。

  我们现在先忽略前两个参数,第三个参数是一个IUnknown指针,指向一个filter或者输出pin。第五,六个参数指向IBaseFilter指针。RenderStream就将三个filter连接成一个链。例如,假设A,B,C 是三个filter,每个filter只有一个输出pin和一个输入pin。

  下面的代码可以将B连接到A上,将B连接到C上。

RenderStream(NULL, NULL, A, B, C)
  所有的连接都是智能化的,如果是将两个filter相连,你可以将中间的参数设置为NULL:

RenderStream(NULL, NULL, A, NULL, C)
  也可以调用两次这个函数创建一个更长的链条。

RenderStream(NULL, NULL, A, B, C)
RenderStream(NULL, NULL, C, D, E)
  如果最后的一个参数设置为NULL,这个方法就自动的为graph设置一个renderer filter。如果是视频就设置成Video Renderer,如果是音频就设置为DirectSoundRenderer。因此RenderStream(NULL, NULL, A, NULL, NULL)等价于 RenderStream(NULL, NULL, A, NULL, R)
这里R指的是Render Filter。

  如果你在第三个参数指定的是filter,而不是pin,你就要在第一二个参数里指定使用那个输出pin用于连接。

  第一个参数只适用于捕捉filter,它指定pin的所属种类的GUID,具体的设置可以参考Pin Property Set.,但是下面的两个种类对于所有的filter都有效。

PIN_CATEGORY_CAPTURE
PIN_CATEGORY_PREVIEW
  如果捕捉filter不支持捕捉和预览,RenderStream方法就增加一个Smart Tee来分割数据流。

  如果播放文件,要将捕捉filter和一个mux filter连接起来,第二个参数指明了媒体类型:

MEDIATYPE_Audio
MEDIATYPE_Video
MEDIATYPE_Interleaved (DV)
  查询filter和pin的接口指针

  当你建立一个graph后,也许你需要查询graph中的filter和pin暴露的接口指针。例如,一个捕捉filter也许暴露了IAMDroppedFrames接口,它的输出pin也许暴露了IAMStreamConfig接口。

  查询接口最简单地方法就是使用ICaptureGraphBuilder2::FindInterface方法。这个方法遍历整个graph的filter和pin,直到他找到合适的filter。你可以指定开始的filter,然后指定搜索的方向,(向上搜索还是向下搜索)。

  下面的代码在一个视频预览pin上搜索IAMStreamConfig接口

IAMStreamConfig *pConfig = NULL;
HRESULT hr = pBuild->FindInterface(&PIN_CATEGORY_PREVIEW,&MEDIATYPE_Video,pVCap,IID_IAMStreamConfig,
(void**)&pConfig
);
if (SUCCESSFUL(hr))
{
 /* ... */
 pConfig->Release();
}
MFC+VC++摄像头图像采集与保存:DirectShow实战与OpenCV方案对比 在Windows桌面应用开发中,图像采集与处理是计算机视觉和多媒体应用的基础。其核心原理是通过系统API或库函数访问摄像头硬件,获取视频流数据,并转换为可处理的图像格式。这项技术的价值在于为软件赋予视觉输入能力,是实现工业检测、安防监控、视频通讯等功能的关键环节。在MFC框架下,开发者常面临技术选型问题:是使用底层的DirectShow以获得精细控制和轻量级部署,还是采用OpenCV这类高级库来快速实现功能并与图像处理流水线无缝集成。本文聚焦于DirectShow方案,深入解析其Filter Graph构建 阅读详情

相关推荐

RenderStream最佳实践

使用 d3 插件的最佳实践

chao 365

ICaptureGraphBuilder2::RenderStream 智能连接方法浅析

ICaptureGraphBuilder2::RenderStream HRESULT RenderStream( [in] const GUID *pCategory, [in] const GUID *pType, [in] IUnknown *pSource, [in] IBaseFilter ...

weixin_33881041的博客 1121

Unity之如何实现RenderStreaming视频推流

什么是 UnityRenderStream?Unity Render Streaming 是 Unity 引擎中的一个功能,允许实现实时高质量图形内容的流传输,适用于在线游戏、虚拟现实会议、教育培训和远程协作等多种场景。它结合了图形渲染、网络传输和流媒体技术,确保低延迟和高画质,支持多平台,提升用户体验和协作效率。我认为这有点难以理解,所以我将使用概念图来解释它。如上图所示,远程PC上运行的UnityEditor的GameView。

TxNet 1578

directshow过滤器图表-graph builder使用时的几点注意事项(易犯错误解析)

下面提到的几点注意事项是我用directshow做项目时遇到的问题和解决了这些问题之后相应的理解及心得,希望与正在学习directshow的同伴们互勉,尽量少走点弯路,由于小弟也是新手,菜鸟一个,所以下面提到的一些理解也可能有疏漏之处,还请前辈们不吝赐教。 1.尽量不要将不再使用的filter留在过滤器图表中。因为很多莫名其妙的错误都是在这种情况下发生的,具体原因是大家在做directshow开

nkliming的专栏 1960

Delphi XE中DSPack 2.3.3控件安装、使用与兼容性实战指南

DirectShow是Windows平台经典的多媒体处理框架,其通过Filter Graph模型将音视频处理流程模块化,实现了数据流的灵活组装与控制。这一原理为开发者提供了强大的底层媒体操作能力,其技术价值在于能够高效处理本地文件播放、实时流媒体捕捉与格式转换等复杂任务。在Delphi开发环境中,DSPack控件包作为DirectShow的封装层,将COM接口与Filter Graph的复杂性转化为可视化的VCL组件,极大地提升了开发效率,广泛应用于视频监控、会议系统、媒体播放器等桌面应用场景。本文聚焦于经

weixin_30388677的博客 461

Delphi中DirectShow摄像头开发

本文介绍如何在Delphi中使用DirectShow实现USB摄像头的视频预览与录像,涵盖设备枚举、VMR-9渲染、AVI录制流程及常见问题解决方案,适用于工业、医疗等领域的稳定图像采集需求。

mmm90的博客 860

DirectShow filter相关

capture filter  capture filter属于source filter。我用到的是usb接口的摄像头。 capture filter 一般有capture 的pin。preview的pin可有可无。 若没有preview,当需要捕获视频到文件和预览同时进行,则加上smart tee的filter,将capture filter的capture pin 连接到 smart

shafa00419的博客 652

C#视频采集卡开发实战:DirectShow、AForge与厂商SDK全解析

视频采集卡作为连接物理世界与数字系统的关键硬件,其核心功能是实现视频信号的捕获与输出,是工业自动化、医疗影像和安防监控等领域的基础技术。其工作原理是通过驱动程序与操作系统多媒体框架(如DirectShow)交互,将模拟或数字视频信号转换为软件可处理的数字数据流。掌握视频采集卡的读写操作,对于构建实时、稳定的视觉应用具有重要价值,尤其在需要高帧率、低延迟的工业检测和实时推流场景中。本文聚焦于C#这一广泛使用的.NET语言,深入探讨如何通过DirectShow、AForge.NET等成熟库或厂商专用SDK,高效

weixin_30074763的博客 305

Capture Graph Builder

Capture Graph Builder可以用来构建大多数的filter图表,并不仅仅是捕捉graph。本文简单介绍了如何利用Capture Graph Builder来构建graph。 Capture Graph Builder暴露了ICaptureGraphBuilder2接口指针,首先创建一个capture builder,和一个filter图表管理器对象,然后用图表管理器对象指针初

Narvik的专栏 1306

Directshow渲染器Filter上叠加字幕和Logo--FileStreamDecode(Directshow)

FileStreamDecode(Directshow) -- 本例子基于Directshow框架,实现了一个自定义的Renderer Filter,带渲染视频功能,并且可以在视频上叠加OSD文字和Logo图标,用到Directdraw API渲染视频和叠加字幕。

别再手动巡检了!用Zabbix 5.0 + SNMPv2自动监控华为S系列交换机(附完整命令集)

本文详细介绍了如何利用Zabbix 5.0与SNMPv2实现华为S系列交换机的自动化监控,告别低效的手动巡检。通过配置SNMPv2c安全基线、核心功能启用及Zabbix Server端深度配置,构建7×24小时监控体系,实时预警接口状态、流量波动等关键指标,大幅提升运维效率与故障响应速度。

weixin_30940783的博客 628

VC++摄像头开发实战:从VFW快速入门到DirectShow工业级应用

在Windows平台进行多媒体开发,视频采集与处理是核心基础技术之一。其原理是通过系统API与硬件驱动交互,获取摄像头产生的原始视频流数据,并经过编码、渲染或存储等环节形成完整应用。这项技术的工程价值在于能够为工业视觉检测、桌面监控工具、嵌入式上位机等场景提供稳定可靠的视频输入解决方案。对于VC++开发者而言,掌握Windows平台原生的多媒体框架是实现高性能、低依赖应用程序的关键。其中,Video for Windows(VFW)以其轻量、易用的特点,成为快速实现摄像头预览和AVI文件录制的经典方案,适合

395

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3600

DirectShow学习笔记总结

DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(Component Object Model)的流媒体处理的开发包,9.0之前与DirectX开发包一起发布,之后包含在windows SDK中。。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地

心之所向,身之所往 1785

ADS1293心电图模块实战:从电极贴片到信号采集的全流程指南

本文提供了一份基于TI ADS1293芯片的心电图采集系统全流程实战指南。文章深入探讨了从电极贴片选择与皮肤预处理、ADS1293前端配置(包括PGA、RLD和威尔逊网络),到PCB布局、电源去耦以及固件滤波与运动伪影处理等关键环节,旨在帮助硬件工程师和嵌入式开发者构建稳定可靠的可穿戴心电监测设备。

weixin_29201313的博客 384

华为昇腾Atlas200DK. CANN模型推理——目标检测结果不对(无检测结果)的问题解决

目录前言问题描述问题排查1.后处理模块问题排查2.预处理模块问题排查3.模型问题排查4.算法bug问题排查5.AI板卡问题排查6.模型精度问题排查6.模型推理问题解决:模型输入数据与预处理不同后记 前言 上周我在华为昇腾Atlas200DK中部署nanodet和yolov5时,出现了目标检测结果不对(没有检测到任何物体),困扰了整整三天,最后找到原因并圆满解决,在这里记录一下debug过程。 以上测试均在python中完成。 问题描述 第一天上午,我首先将nanodet由pytorch的.pth模型转换为.

qq_41035283的博客 5604

Unity Render Streaming 云渲染企业项目解决方案

Unity云渲染解决方案

爱好游戏的玩家 2万+

STM32驱动数码管:从硬件连接到动态显示实现

本文详细介绍了使用STM32单片机驱动数码管的完整流程,从硬件连接到软件实现。内容涵盖共阳/共阴数码管原理、GPIO配置、段码表生成,并重点解析了多位数码管动态显示的核心技术,包括动态扫描原理、消影处理及实战代码,帮助开发者快速掌握这一嵌入式开发基础技能。

p5l2m9n4o6q的博客 574

Unity Render Streaming 云渲染解决方案

Render Streaming是Unity官方推出的一套云渲染解决方案,可以实现将我们打包的.exe程序运行于服务器云端,在浏览器、移动端进行显示,该解决方案基于Google开发的WebRTC流技术,以及Unity官方推出的新的输入系统Input System。本文介绍基于Render Streaming最初版本1.1.1的云渲染实现: 首先创建一个HDRP项目,在Package Manager中安装Unity Render Streaming,因为处于预览阶段,所以...

当代野生程序猿 9750

【DEIM创新改进】独家下采样创新改进篇 | ECCV 2026 | DEIM 引入FSD-Down频域-空间动态下采样,在下采样过程中保留小目标的高频信息、助力小目标检测、遥感小目标检测有效涨点

🔥本文提出了一种名为FSD-Down的频域-空间动态下采样模块,用于改进DEIM网络模型在小目标检测中的性能。FSD-Down通过小波分解显式保留低频语义和高频细节,结合分组卷积、动态通道权重和可学习缩放因子,自适应强化目标边缘与纹理特征。该模块能有效减轻传统下采样造成的频率混叠和细节丢失,提升对小目标、密集目标和低对比度目标的检测能力。实验表明,FSD-Down计算开销可控,在保持实时性的同时显著提升检测精度,特别是在VisDrone和AITODv2数据集上对小目标的检测性能提升显著。

Ai缝合怪、助力小伙伴高效发论文 82

Android 13.0仿ios的hotseat效果修改hotseat样式

在13.0系统产品rom定制化开发中,在项目需求的需要,系统原生Launcher的布局样式很一般,所以需要重新设计ui对布局样式做调整,产品在看到 ios的hotseat效果觉得特别美观,所以要仿ios一样不需要横屏铺满的效果 居中显示就行了,所以就要看hotseat的具体布局显示了

安卓兼职framework和app工程师的博客 1144

Unity云渲染开源框架UnityRenderStreaming使用说明

目录 一、前言 二、实现 2.2、先安装依赖组件WebRTC和InputSystem 2.3、安装Unity Render Stream包并且导入案例工程 2.4、安装WebServer并运行 2.5、运行Unity案例 三、总结 一、前言 我使用的是Unity个人版,个人版的激活方法可以自行百度,我在个人版的Hub中下载并安装了unity2019.4.28。在这过程中几次都没能跑起来,我在此做一个总结。一定要自己看官方教程 网上杂七杂八的讲的不知所云、没头没尾的...

Just do IT 9035

用Excel或WPS做两独立样本的T检验

一般情况下收集数据时常用的是Excel或者WPS,但统计时却用SPSS等软件进行统计学分析,经常很多人找不到SPSS的安装包,或者苦于正版激活或忘记教程,其实Excel或WPS自带函数就足够了,均数、标准差以及统计检验都是一个函数而已。解释:先做F检验,如果F>0.05就做T检验,Ttset里的数据为两组的数据的比较,结果如下。A组的均数计算 =AVERAGE(B2:B6)A组的标准差计算 =STDEV(B2:B6)B组的标准差计算=STDEV(B7:B19)分组 数值 A组均数 A组标准差 p值。

Mrrunsen的博客 6751
上一篇: 文件夹浏览(SHBrowseForFolder)
下一篇: error C2061: syntax error : identifier 'CAMSchedule'
Narvik
博客等级 码龄16年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值