社区
多媒体/流媒体开发
帖子详情
请问一下如何在程序中直接调用 dshow 输入图像
runrunrun
2004-07-24 01:22:05
Render Filter 是不是只能在 Filter 里调用,可以在程序里直接调吗?
比如我现在有一个bitmap缓冲区,想利用dshow显示,应该怎么做
还有一个问题: dshow的效率会比bitblt函数高很多吗?尤其是在30帧/秒,全屏显示的时候
...全文
177
10
打赏
收藏
请问一下如何在程序中直接调用 dshow 输入图像
Render Filter 是不是只能在 Filter 里调用,可以在程序里直接调吗? 比如我现在有一个bitmap缓冲区,想利用dshow显示,应该怎么做 还有一个问题: dshow的效率会比bitblt函数高很多吗?尤其是在30帧/秒,全屏显示的时候
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happydeer
2004-07-28
打赏
举报
回复
这次可能被你“骗”过去了,但我还是不推荐这么用。如果以后出现无法预料到的问题,那就麻烦了,可能还要返工。
runrunrun
2004-07-28
打赏
举报
回复
不用建链路。 我想 Filter graph 能干的事的我也能干,后来我就做了一个IPin的派生类(其实里面什么事也没干),拿它去连接 VideoRender 的输入Pin , 就把VideoRender给'骗'过去了。
其实我对dshow也是初学,happydeer的那本书给了我不少帮助。 还希望以后能多指教
wl3c
2004-07-28
打赏
举报
回复
你获取IMemInputPin接口之前应该已经建好了Filter Graph链路了吧?!
happydeer
2004-07-28
打赏
举报
回复
呵呵,新鲜!
runrunrun
2004-07-28
打赏
举报
回复
还有可能是sampletime的begintime和endtime的问题。 我现在不想置同步,只想来一帧数据就显示一帧,是否可以
pMediaSample->SetTime( 0, 0 ); 把开始时间和结束时间都设成0
runrunrun
2004-07-28
打赏
举报
回复
现在还有一个问题:为什么我送去显示的图像只能显示第一帧,其实的图像只有在窗口重画的时候才显示(比如说把另外一个窗口从显示窗口上移开),
我猜有两种可能: 1. 同步时间 2. 关键帧
我用了下面两个函数,可是还不行,这是为什么呀
pMemAllocator->GetBuffer( &pMediaSample, 0, 0, AM_GBF_NOWAIT ) ;
pMediaSample->SetSyncPoint( TRUE ) ;
还有可能是什么原因呢?
happydeer 快来帮帮忙,我都快急死了
happydeer
2004-07-27
打赏
举报
回复
Filter不能脱离filter graph而独立使用!它不像DMO。directshow的video renderer会实用directdraw进行图像显示,效率自然比gdi函数高。
runrunrun
2004-07-27
打赏
举报
回复
UP
runrunrun
2004-07-27
打赏
举报
回复
谢谢你。不过我昨天忙到3点,终于做出来了。其实filter可以在应用程序中直接调用,
用下面的方法创建实例,
CoCreateInstance(CLSID_VideoRenderer, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&pVideoRender)
再想办法获取其IMemInputPin接口,直接把数据用 pMemInputPin->Receive(...) 传进去,发现居然也能显示,
但我发现用 VFW + VideoRender filter 显示的效率和 VFW + bitblt 居然是一样的,都占60% 的CPU,
然后我又用了 DivX decode filter + VideoRender Filter , 发现只占了 38% 的CPU, 真是怪事,看来瓶颈不是出在显示上,可能是在内部数据流的传输上吧
runrunrun
2004-07-24
打赏
举报
回复
还有,用DMO是不是可以做,我看了一下,好象机器里装的只有音频特效的DMO,没有关于video render 的
Windows之5:DirectShow+H.264+AAC采集编码
主要的知识点包括DShow基础及Filter原理、DShow配置开发环境及入门简介、 编译baseclasses项目、DShow播放器案例实战、DShow枚举音视频
输入
设备信息、 DShow采集麦克风音频案例实战、DShow+H.264+AAC音视频采集与...
Visual Studio 2010
调用
DirectShow 采集摄像头
图像
调用
摄像头用的都是OpenCV提供的接口,前两天无意在OpenCV的一篇帮助文档
中
中
看到在Windows下用DirectShow采集摄像头
图像
比OpenCV效率要高一些,于是趁着五一假期就弄了
一下
DirectShow,很麻烦。...
webrtc源码学习 - windows摄像头采集
现在市场上大多数的摄像头和采集卡在Windows系统上的驱动基于WDM架构,微软定义了采集卡设备与上层
程序
间的通信驱动接口,这已经成为一种标准,因此,控制摄像头和采集
图像
基本都通过Directshow框架来实现。...
《数字
图像
处理-OpenCV/Python》连载(8)
调用
摄像头拍照和录制视频
本节介绍 OpenCV
中
的VideoCapture类和VideoWriter类处理视频流。例程用于
调用
笔记本内置摄像头抓拍图片和录制视频。
教你如何用VS读取摄像头内容并保存图片及视频(C++)
运行软件:Visual Studio 2022;opencv-4.6.0-vc14_vc15 新建一个源文件,
输入
如下代码:(当代码运行成功后弹出摄像头的内容,这时按空格保存图片,按ESC保存... 运行结果如下:可以在电脑
中
找到刚刚保存的人像及视频
多媒体/流媒体开发
2,543
社区成员
20,281
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章