VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 39730|回复: 112

[原创] 绝对震撼!!!教你如何用DirectShow开发视频采集程序(VB+VC++)

  [复制链接]
 楼主| 发表于 2009-1-12 17:59:11 | 显示全部楼层 |阅读模式
这个是兄弟我花了将近两个月弄出来的一个东东。之前因为客户需要我们做视频采集,需要将显微镜下的内容通过采集卡读入到
计算机里面,所以我也找了一些VB版本的采集代码,太耗资源,而且该起来非常不方便,速度也很慢,视频常常有拖尾现象。没办法客户
必须要求我们改进这些问题。没办法,找来找去,VB调用DIRECTSHOW视频采集方面的资料几乎找不到。只好从头开始学起C++,因为DirectShow
相关实例代码都是C++的,摸索了1个多月终于是按客户需要弄好了。现在将代码贴上来,希望跟我之前一样经历的兄弟姐妹,可以直接用我
的劳动成果就行了,不必走那么多弯路了。

    如果你不懂C++,那么下载那个DirectShowDll的附件,然后下载Form的原文件,就可以使用了。如果你想更深入的了解DirectShow的
运行原理,那么可以打开Capzcg.rar,是C++代码,里面包含了如何加载视频设备,以及连接FILTER,运行,抓图,添加滚动字幕。。等功能。你也可以在该DLL里面添加自己的功能,然后在通过DEF文件暴露给外部语言来调用。

    VB代码部分先删除了。我已经在后面的帖子将原文件贴上来了。那个是我之前用VB做测试所做的一个测试实例。
除了部分结构体从VB传入C++的时候有些问题之外,都是可以用的。
   
    祝大家学有所成,身体健康。

(交你 -> 教你 by VBProFan)

[ 本帖最后由 VBProFan 于 2009-7-2 21:06 编辑 ]

点评

代码在哪?  发表于 2012-3-4 09:12

评分

参与人数 7威望 +46 人气 +6 收起 理由
灯雪 + 4 精品文章
dazuo0459 + 5 + 1 发布源码
DreamonII + 8 + 3 精品文章
wolf3t + 2 发布源码
yyhust + 10 好!!!
youhm + 12 + 2 发布源码
夜的影子 + 5 发布源码

查看全部评分

发表于 2009-1-12 18:03:53 | 显示全部楼层
VB5??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:05:37 | 显示全部楼层
这两个是上面VB代码里面用到的程序的代码原型。
如果不是很清楚如何调试C++可以直接用第一楼上面编译好的程序来用。记得 FilterTitleOverlay.ax是一个视频FILTER需要用System32目录下面的REGSVR32.EXE将其注册后方可使用。

稍后我会贴出C++代码给大家简单解释一下

[ 本帖最后由 acmilan1984 于 2009-6-19 15:20 编辑 ]

评分

参与人数 2威望 +12 人气 +3 收起 理由
灯雪 + 4 好东西
DreamonII + 8 + 3 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:06:42 | 显示全部楼层

回复 #2 艾达 的帖子

VB6的代码的窗体,你用记事本打开都是写着VERSION 5.0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:13:28 | 显示全部楼层
CapZcg.dll代码可以下载下去看到。
主要说一下 capzcg.def 。
这个是C++导出给其他语言调用时,必须有的文件
LIBRARY CapZcg

EXPORTS

StartCap
CloseInterfaces
ResizeVideoWindow
CapBmp
StopPreview
StartPreview
PausePreview
VideoSetup
ShowVideoInfo
CCrossBarSetInputIndex
CreateCrossBar
GetCrossBarCount
GetCrossBarInfoByIndex
VideoTextSetup
CGetVideoHwnd
CGetDisplayName

函数的原型可以通过VB里面关于这些函数的声明就知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:19:16 | 显示全部楼层
C++的代码装上VC++6.0就可以打开了。内容比较多。而且也适合在这里讨论。
如果大家有需要,就跟帖留言。我到时候给大家解释一下。
C++部分的代码必须安装DX9.0B下载地址
dx90bsdk:http://download.microsoft.com/do ... 75de85/dx90bsdk.exe
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:21:37 | 显示全部楼层
上述代码,除了传输FILTER,是使用陆启明老师写好的代码上面做了些修改之外,其他代码都是本人原创的。花了将近两个月时间才学会C++,并做出这套东西。希望大家喜欢。呵呵。

评分

参与人数 1威望 +1 人气 +1 收起 理由
download + 1 + 1 厉害,2个月学会C++.

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-12 18:26:50 | 显示全部楼层
不好意思,代码贴上来的时候FORM里面的注释都乱套了。现在j将VB的FORM原文件贴上来。
用VB6打开即可,没有任何引用和OCX。

[ 本帖最后由 acmilan1984 于 2009-6-19 15:21 编辑 ]

评分

参与人数 2威望 +8 人气 +3 收起 理由
灯雪 + 4 非常厉害,也非常好人
DreamonII + 4 + 3 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2009-1-14 00:48:28 | 显示全部楼层
虽然不懂 还是学习。  支持高手
回复 支持 反对

使用道具 举报

发表于 2009-1-14 10:48:29 | 显示全部楼层
支持LZ的贡献.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-4 20:02

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表