视频采集 孔康 terrist007@163.com
前一段时间写的“实时语音通信”,朋友们给了我很大鼓励,甚感欣慰!但是就那个程序,现在让我困苦不堪。在这里恳请高手帮助解决这些问题:
1 回放问题,仍然没有实现的双缓冲播放。播放两个声音块的效果就像火车经过两节铁轨的接点,不连续,有杂音。这简直让人无法忍受!为了弱化这个问题,不得不增大INP_BUFFER_SIZE值,以减少“接点”个数。于是第二个问题就来了。
2 延时问题,那个程序的延时达到秒级,当时考虑了网络壅塞以及节省内存的情况多次使用了内存申请、释放、内存拷贝函数再加那个巨大的缓冲区,难怪有这么大的延时。在网络品质很好的局域网里,这更让人不可接受!
许多朋友希望我能介绍一下视频的编程,时下视频聊天几乎成了网吧老板们制胜的法宝,自己的软件嵌入视频通信方式又显得那么酷,而一个摄像头只需要百来块钱。本软件功能上可以实现视频采集、预览,选择压缩器(视频文件可是大得惊人!)进行压缩、解压,回放。抓取单帧图片保存等。
简单介绍一下程序吧,在OnInitDialog()里面:
InitCaptureFormat()初始化BITMAP m_InInfo,设置视频采集数据的格式。
接着,触发OnDisplay().装载动态链接库VideoDll.dll,如果成功则初始化COMPVARS m_CV这个变量,设置压缩器,可以手动设置也可以调用系统对话框。
在VideoDll.dll中根据压缩器初始化解压器COMPVARS m_2CV,InitVideoCard()调用了系列cap...()函数,详情请参考MSDN或与我联系(terrist007@163.com或candy0624@163.com)索取更进一步代码。
void CVideoPlayBackDlg::InitVideoCard()
{
if(!capDriverConnect(m_hWndCapture,0))//连接设备驱动程序
AfxMessageBox("Driver Connect Failure");
//set the video format
if(!capSetVideoFormat(m_hWndCapture,&m_InInfo,sizeof(BITMAPINFO)))
AfxMessageBox("Fail to set the video format");//如果驱动不支持此格式将返回0
capPreviewRate(m_hWndCapture,24);//预览桢速
capPreview(this->m_hWndCapture,TRUE);//可以预览
if(!capSetCallbackOnFrame(this->m_hWndCapture,FrameCallBack))//设置单桢的回调函数
AfxMessageBox("fail to setCallbackOnFrame function");
}
值得一提的是那个回调函数FrameCallBack(),它对采集到的数据(单幅图片)进行处理。为了方便理解,我把压缩ICSeqCompressFrame()、解压ICDecompress()、窗口刷新InvalidateRect()三个函数全写在这里而省略了网络发送部分,实际运用当中通过Socket把Buf里面的数据发送出去即可,读者可以轻松完成,您当然也可以参考我在“实时语音通信”中介绍的网络传送机制。当然如果您很厉害,还可以运用各种算法对数据进行运算,实现一些号称“智能”的效果。运行结束后别忘了释放资源,就OK了
结束语:如果想实现实时的语音、视频通信,而且语音视频要同步;如果想保存成avi动画,还得啃那些cap打头的函数们。
Copyright(C) 2004 Kongkang All Rights Reserved.
没有合适的资源?快使用搜索试试~ 我知道了~
视频捕获程序(VideoEXE)
共68个文件
h:8个
sbr:6个
cpp:6个
需积分: 9 1 下载量 111 浏览量
2009-04-22
18:06:48
上传
评论
收藏 7.69MB RAR 举报
温馨提示
前一段时间写的“实时语音通信”,朋友们给了我很大鼓励,甚感欣慰!但是就那个程序,现在让我困苦不堪。在这里恳请高手帮助解决这些问题: 1 回放问题,仍然没有实现的双缓冲播放。播放两个声音块的效果就像火车经过两节铁轨的接点,不连续,有杂音。这简直让人无法忍受!为了弱化这个问题,不得不增大INP_BUFFER_SIZE值,以减少“接点”个数。于是第二个问题就来了。 2 延时问题,那个程序的延时达到秒级,当时考虑了网络壅塞以及节省内存的情况多次使用了内存申请、释放、内存拷贝函数再加那个巨大的缓冲区,难怪有这么大的延时。在网络品质很好的局域网里,这更让人不可接受!
资源推荐
资源详情
资源评论
收起资源包目录
VideoEXE.rar (68个子文件)
VideoEXE
VideoEXE.rc 5KB
VideoEXE.ncb 49KB
StdAfx.cpp 210B
resource.h 731B
VideoEXEDlg.h 1KB
VideoEXE.dsw 541B
VideoEXEDlg.cpp 6KB
VideoEXE.opt 55KB
VideoEXE
VideoEXE.rc 5KB
VideoEXE.ncb 57KB
StdAfx.cpp 210B
resource.h 731B
VideoEXEDlg.h 1KB
VideoEXE.dsw 541B
VideoEXEDlg.cpp 6KB
VideoEXE.opt 54KB
Debug
VideoEXE.ilk 201KB
VideoEXE.bsc 3.35MB
vc60.pdb 404KB
VideoEXE.res 3KB
VideoEXE.pdb 369KB
vc60.idb 217KB
VideoEXEDlg.sbr 0B
VideoEXE.exe 104KB
StdAfx.obj 127KB
VideoEXE.pch 7.47MB
VideoEXE.sbr 0B
StdAfx.sbr 1.47MB
VideoEXE.obj 13KB
VideoEXEDlg.obj 27KB
VideoEXE.dsp 4KB
ReadMe.txt 2KB
StdAfx.h 1KB
VideoEXE.cpp 2KB
VideoEXE.clw 1KB
VideoEXE.h 1KB
VideoDLL.dll 108KB
res
Thumbs.db 3KB
VideoEXE.rc2 400B
VideoEXE.ico 1KB
VideoEXE.plg 250B
VideoEXE.aps 20KB
Debug
VideoEXE.ilk 201KB
VideoEXE.bsc 3.35MB
vc60.pdb 404KB
VideoEXE.res 3KB
VideoEXE.pdb 369KB
vc60.idb 217KB
VideoEXEDlg.sbr 0B
VideoEXE.exe 104KB
StdAfx.obj 127KB
VideoEXE.pch 7.47MB
VideoEXE.sbr 0B
StdAfx.sbr 1.47MB
VideoEXE.obj 13KB
VideoEXEDlg.obj 27KB
VideoEXE.dsp 4KB
ReadMe.txt 2KB
StdAfx.h 1KB
VideoEXE.cpp 2KB
VideoEXE.clw 1KB
VideoEXE.h 1KB
VideoDLL.dll 108KB
res
Thumbs.db 3KB
VideoEXE.rc2 400B
VideoEXE.ico 1KB
VideoEXE.plg 250B
VideoEXE.aps 20KB
共 68 条
- 1
资源评论
fangcao8090
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功