视频采集 孔康 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.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
.rar (17个子文件)
VideoEXE
VideoEXE.rc 5KB
StdAfx.cpp 210B
resource.h 731B
VideoEXEDlg.h 1KB
VideoEXE.dsw 541B
VideoEXEDlg.cpp 6KB
VideoEXE.opt 48KB
VideoEXE.dsp 4KB
ReadMe.txt 2KB
StdAfx.h 1KB
VideoEXE.cpp 2KB
VideoEXE.clw 1KB
VideoEXE.h 1KB
VideoDLL.dll 108KB
res
VideoEXE.rc2 400B
VideoEXE.ico 1KB
VideoEXE.plg 2KB
共 17 条
- 1
资源评论
- chongyang_892012-07-20程序可以运行,但是不能采集画面貌似没有作者所说的dll文件
无才顽石
- 粉丝: 223
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功