VCamSDK 4.1 qt 使用 (sip 客户端打开分享桌面测试)

虚拟摄像头驱动VCamSDK Java虚拟摄像头 VCamSDK是适用于Windows的虚拟相机SDK,允许您在无需安装软件的情况下向应用程序添加"虚拟摄像头"功能。 VCamSDK:https://www.e2esoft.com/sdk/vcam-sdk/ VCamSDK包含将虚拟摄像机功能添加到应用程序所需的所有文件(https://www.e2esoft.com/download/vcam-sdk) 替代解决方案DS版本无驱动程序,轻量级但兼容性较低(https://www.e2esoft.com/download/vcam-sdk-ds) 立即下载

1.VCamSDK 提供了虚拟设系统的开发 下载地址

http://www.e2esoft.com/sdk/vcam-sdk/ 本文4.1版本

解压运行install.bat   安装 uninstall.bat卸载  运行后会在系统注册虚拟摄像头

运行目录下的VCamDemo.exe或者VCamDemoCS.exe就可以吧要虚拟的桌面发送给摄像头

这里点击screen capture   就可以把桌面发送给摄像头

可用CapTest.exe测试显示 打开摄像头

2.运行在qt 

解压VCamDemos.zip  本文主要测试在c的使用非c#    它默认提供的好像是win32句柄开发的demo 在qt 不好使用稍微改下

新建一个头文件将 VCamRenderer_i.c 内容拷过去(xx.h)

新一个类DSRender   将DSRender.cpp、h的文件内容拷过去

去掉头文件的#include <strmif.h> 

cpp的#include "stdafx.h"

3. qt 项目导入

#include "DSRender.h"
#include "xx.h"
#include <dshow.h>

先跑下项目运行后会在vs运行目录多个 vcamrenderer.tlh 

在导入#include "vcamrenderer.tlh"

好了现在可以开发了

 

在头文件添加

private:
    Ui::QtVCamClass ui;
    IBaseFilter*        m_vcam_renderer = nullptr;
    IVCamRenderer*        m_vcam = nullptr;
    CDSRender            m_player;
    //CDeviceEnumerator    m_input_devices;
    //CDeviceEnumerator::CDevice* m_current_vcam = nullptr;
    
    HANDLE                m_thread = nullptr;

    QTimer *m_timer;
    void closeEvent(QCloseEvent *event);

添加一个按钮事件

void QtVCam::start() {
    
    HRESULT hr = ::CoInitialize(nullptr);

    // Create VCam renderer filter
    if (FAILED(hr = CoCreateInstance(CLSID_VCamRenderer, NULL, CLSCTX_INPROC, IID_IBaseFilter,
        reinterpret_cast<void**>(&m_vcam_renderer)))) {
        //MessageBox(_T("VCamRenderer filter not registered!"), _T("Error"), MB_OK | MB_ICONERROR);
        qDebug() << "VCamRenderer filter not registered!";
        return ;
    }

    // get [IVCamRender] interface from VCam Renderer filter
    if (FAILED(hr = m_vcam_renderer->QueryInterface(&m_vcam))) {
        //MessageBox(_T("VCam Driver not installed!"), _T("Error"), MB_OK | MB_ICONERROR);
        qDebug() << "VCam Driver not installed!!";
        return ;
    }

    // pass it to player
    m_player.SetVCamRender(m_vcam);

    // list available video capture devices
    //m_input_devices.Enumerate();
      

    // list multiple VCam source Device 
    /**for (auto& it : m_input_devices.m_vcam) { 
        if (m_current_vcam == nullptr) {
            m_current_vcam = it.get();
            qDebug() <<"======="<< m_current_vcam->m_friendly_name.c_str();
        }
    }**/
    // create a thread to detect VCam usage.

    if (m_vcam) {
        m_vcam->SetOutputFormat(1920, 1080, 20, 0, 0);
        m_vcam->CaptureScreen(0, 0, 640, 480);
    
    }

    m_timer = new QTimer(this);
    //定时器触发信号槽
    connect(m_timer, &QTimer::timeout, this, &QtVCam::TimerTimeOut);
    m_timer->setInterval(100);//1000=1s
    
    m_timer->start();
}
 

这里启动了一个timer  设置100m发送一次桌面  还可以设置输出尺寸

void QtVCam::TimerTimeOut()
{
    if (m_vcam) {
        qDebug() << "11111";
        m_vcam->CaptureScreen(0, 0, 1920, 1080);
    }
}

好了  现在就可以用CapTest.exe打开看了   

 

在sip 客户端的摄像头选择设置为virtual camera 就可以发送桌面给对方了

for (int i = 0; i < 3; i++)//找到摄像头
    {
        QString x = QString(QLatin1String((video_devices[i])));
        if (x.contains("virtual camera", Qt::CaseSensitive)) {
            index = i; break;
        }
    }
    linphone_core_set_video_device(lc, video_devices[index]);

如果是通话视频 对方看到的是你的桌面了当然输出640*480 不是那么清楚 你可以调大 环境允许

 

sip 客户端各平台解决方案https://shop121230895.taobao.com/

交流群261074724

 

 

 

 

 

 

 

 

 

 

 

虚拟摄像头VCam开发SDK 基于虚拟摄像头VCam的开发SDK,可以轻松与Windows Meida Encoder和Media Service组建自己的媒体服务器。支持COM和DShow filter两种开发模式。 立即下载

相关推荐

虚拟摄像头开发SDK及调用DEMO源代码

VCamSDK是一个封装了虚拟摄像头输出的模块,使用该模块,可在无需了解任何驱动开发或DShow开发方面的知识的情况下,即可方便的开发出自己的虚拟摄像头软件。无需安装驱动程序,在QQ、MSN、FLASH中均可正常使用,而且可以多个程序同时调用该虚拟摄像头。如有实际应用需要,摄像头的名字和GUID也可以修改。

虚拟摄像头驱动VCamSDK 介绍

虚拟摄像头驱动VCamSDK 介绍 【下载地址】虚拟摄像头驱动VCamSDK介绍 VCamSDK是一款专为Windows系统设计的Java虚拟摄像头开发工具,帮助开发者在应用中轻松集成虚拟摄像头功能,无需额外安装软件。它提供了完整的SDK文件,功能强大且易于使用,能够快速实现虚拟摄像头功能。此外,VCamSDK还提供轻量...

gitblog_06732的博客 441

VCamSDK_v3.1

开发虚拟视频用的SDK,包含c++和c#示例 VCam SDK is a SDK of e2eSoft VCam software, which allows you to use virtual camera function in your application.

VCAM App 开源项目教程

VCAM App 开源项目教程 项目介绍 VCAM App 是一个开源的视频会议应用程序,旨在提供一个简单易用的视频会议解决方案。该项目基于现代Web技术开发,支持多人视频会议、屏幕共享、实时聊天等功能。VCAM App 的设计理念是让用户能够快速部署和使用,无需复杂的配置。 项目快速启动 环境准备 在开始之前,请确保您的开发环境满足以下要求: Node.js (版本 >= 14.x) n...

gitblog_00397的博客 746

VCam_v3.1.0(虚拟摄像头+注册码)

VCam_v3.1.0(虚拟摄像头+注册码)

基于qt的一款sip抓包工具

基于qt的一款sip抓包工具

[VCam和VSC]-VCam虚拟摄像头和 VSC虚拟声卡的使用方法

把视频文件直播到视频网站 – E2ESOFT https://www.e2esoft.cn/broadcast-video-and-audio/ 将视频文件(带音频)直播到视频网站比如 USTREAM.TV 的两个步骤。注:如果您的声卡有内录功能(Strereo Mix),则不需要使用 VSC 也可以把播放的声音直播出去。 第一步: 选择[扬声器(e2eSoft VAudio)]作为V...

LL-Studio的专栏 1万+

e2eSoft VCam 虚拟摄像头4.6带注册文件和补丁

VCam是一个虚拟摄像头软件,它能够在您的系统上模拟一个摄像头,可在任何支持摄像头的软件中使用,比如 QQ、MSN Messenger、Yahoo! Messenger、Skype 等聊天工具,新浪UC、碧聊等网络视频聊天室。使用它,您可以与远方的朋友分享您电脑上面的精彩视频,也可以把自己的录像、照片、动画、Flash 甚至桌面等作为聊天的视频展现给网友 ,并支持图像、视频叠加(画中画)、文字叠加以及多种超酷视频特效。 已经有了摄像头?VCam 可以轻松与之切换,给它添加视频特效或画中画效果、进行人脸跟踪、背景去除等,并使它能够同时在多个程序中使用,让您的视频聊天更精彩!

VC SDK使用

 记录下debug 出现的问题,很菜啊vc用的。。。 1. radio box crash 使用死机的问题,代码上看已经按要求写的,DDX_Radio交换数据,可是一运行就出现警告窗口。本意是选RED,m_nradio=0,BLUE ,M_NRADIO=1,GREEN,M_NRADIO=2,书上也是这么写的,然后 通过DDX_Radio(pDX,IDC_RED,m_nradio)实

autumn32的专栏 656

基于QT的SIP信令分析

项目简单介绍:通过导入电话过程的抓包 pcap 文件,对话务进行分析(正常通话,异常通话),以简单的柱状图或者其他图像对分析结果进行可视化 开发环境: Visual Studio 2022+ SQL server 需求:三个模块 登录模块:可以选择登录人员类型(管理员、话务分析员、普通注册用户) 管理员登录:可以对注册的用户信息进行增删改查(姓名、电话、登录密码) (关键)话务分析员登录:进入界面后进行 pcap 文件(转换为 txt 文件导入)分析,形成可视化图形或表(应答、未应答、正常通话),可以筛选出异常通话信息,这里的测试文件不需要做,可以提供 普通注册用户登录:完成登录注册就行(保存在数据库中)

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 709

【亲测免费】 虚拟摄像头VCam开发SDK

虚拟摄像头VCam开发SDK 【下载地址】虚拟摄像头VCam开发SDK 虚拟摄像头VCam开发SDK是一款基于虚拟摄像头技术的开发工具包,旨在帮助开发者轻松与Windows Media Encoder和Media Service集成,快速搭建属于自己的媒体服务器。该SDK支持虚拟摄像头技术,提供COM和DShow fil...

gitblog_06774的博客 530

Ubuntu20.04安装Eigen3.3.7、模板类Sophus和Ceres

Sophus的使用必须依赖3.3以上的Eigen版本。如果版本太低,Sophus库将无法安装使用。

qq_62964142的博客 3422

虚拟摄像头驱动VCamSDK介绍:一款Java虚拟摄像头SDK

虚拟摄像头驱动VCamSDK介绍:一款Java虚拟摄像头SDK 【下载地址】虚拟摄像头驱动VCamSDK介绍 VCamSDK是一款专为Windows系统设计的Java虚拟摄像头开发工具,帮助开发者在应用中轻松集成虚拟摄像头功能,无需额外安装软件。它提供了完整的SDK文件,功能强大且易于使用,能够快速实现虚拟摄像头功能。此...

gitblog_06770的博客 823

火星遥感数据的获取与处理工具安装详解

有关火星遥感影像数据的那些事...

FengYingLuo的博客 5570

国民技术N32G45X SysTick定时器实战:从1us到100ms的精准延迟实现(附完整代码)

本文详细解析了国民技术N32G45X芯片中SysTick定时器的工作原理,并提供了从1微秒到100毫秒的高精度延迟实现方案。通过对比官方库函数的局限性,文章重点介绍了无中断查询模式、时钟源选择策略以及完整的代码实现,帮助嵌入式开发者精准控制时序,适用于LED控制、软件模拟通信协议等多种实战场景。

weixin_29190573的博客 372

推荐文章:探索未来视觉——VCAM:轻量级AI相机解决方案

推荐文章:探索未来视觉——VCAM:轻量级AI相机解决方案 在智能时代的浪潮下,融合了尖端科技的视觉应用日益成为不可或缺的一部分。今天,我们为您带来的是VCAM——一个由Intel Movidius Myriad VPU驱动的Hydra AI相机原型项目,它旨在为无人机、智能监控、VR/AR设备等提供低功耗的强大视觉处理能力。 项目介绍 VCAM以其即插即用的便捷性脱颖而出,只需通过USB-C接口...

gitblog_00092的博客 835

【Shader】Unity批量更换Shader

在Unity开发中,因为渲染管线问题,经常会遇到需要大量更改shader的问题,本篇文章讲述批量更换Shader的工具。

憨辰 1465

如何为QT应用程序添加WebRTC SIP功能

在QT中嵌入CEF支持WebRTC功能,最关键的是充分利用CEF开放的chromium参数控制,打开media-stream,usermedia-screen-capturing开关,use-angle启用渲染硬件加速,关闭mdns等,才能充分感受到流畅的webrtc sip视频通话体验。CEF是一个比较大的开发框架,除了基本的web浏览功能,还提供应用程序和web网页之间的互操作,例如应用程序调用网页js,网页js调用应用程序开放的接口等。对chromium/CEF不熟悉的同学,可以下载。

andyshengjl的博客 1428

网络协议——Modbus-RTU

网络协议——Modbus-RTU,简介、消息格式、Modbus寄存器种类说明、功能码01H、功能码02H、功能码03H、功能码04H、功能码05H、功能码06H、功能码0FH、功能码10H。

计算机硕士的博客 9896

基于plc的工厂除尘控制系统设计(S7-200、仿真、调试、高质量)

工业作为我国第二支柱产业,在近十几年来发展非常迅速,虽然带了了可观的经济效益,但在工业生产中所产生的大量粉尘气体对大气的污染现象也不容忽视。为减少工业粉尘对环境的污染,世界各国制定了严格的环境保护要求。为了减少工业中粉尘的排放,除尘器的研发改良,以及燃煤的使用等等都在不断更改以符合粉尘排放标准。而目前最先进的除尘设备无机膜除尘器具备除尘效率高,稳定性好,结构紧凑易于维护等优点,且无机膜对于粉尘吸附效率高,抗腐蚀能力优秀,耐高温,因此能更有效应用于高温烟气的除尘。本文根据PLC技术在除尘方面的应用,来优化设计

老高的博客 1279

[版本发布]OpenNCC百度定制版VCAM发布

测试欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器

eye_123的博客 622

Cube.js 安装避坑指南:从零到一键启动

本文是一份详细的Cube.js安装避坑指南,旨在帮助开发者从零开始顺利启动Cube.js。文章重点强调了安装前的环境准备,包括Node.js版本、包管理工具和项目路径等关键“地基”,并深入解析了使用npx安装的优势、数据库类型选择以及数据库连接配置的核心步骤与常见陷阱,确保您能高效完成安装并成功启动服务。

weixin_29218509的博客 429

linphone 各版本sdk和apk 下载地址

sdk教程地址https://blog.csdn.net/Java_lilin/article/details/80539116 http://www.linphone.org/releases   个人有linphone2版本的源码 apk地址http://www.wandoujia.com/apps/org.linphonehk linphone3直接编译官网安卓源码     交...

Java_lilin的专栏 8874

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: linphone c# (基于libnphone sdk ) 开发搭建
下一篇: Linphone 实现局域网的组网呼叫 (官方的说法是Making an audio conference)
java_lilin
博客等级 码龄14年 364粉丝 124原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值