|
在程序的前面用
m_hled=CreateFile(_T("CIS1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);//打开驱动
ret = DeviceIoControl(m_hled,CAM_IOCTL_SAMSUNG_PREVIEW_START,NULL,NULL,NULL,NULL,NULL,NULL);
在开发板上LCD已经实时显示采集到的图像,下面想用UDP协议传输视频
static void OnRecCapAndSend(char *data,int length,DWORD userdata)
{ BOOL ret;
PINGPONG_PR image;
WORD Video_Width=GetSystemMetrics(SM_CXSCREEN);//用于得到被定义的系统数据或者系统配置信息
WORD Video_Height=GetSystemMetrics(SM_CYSCREEN);//SM_CXSCREEN,SM_CYSCREEN 以相素为单位计算的屏幕尺寸。
BYTE* lpJpgBuffer=new BYTE[Video_Width *Video_Height*2];
ret=DeviceIoControl(m_hled,CAM_IOCTL_SAMSUNG_CAM_PR,NULL,NULL,(PBYTE)&image,NULL,NULL,NULL);
if(!ret)
AfxMessageBox(_T("读取图片失败!"));
else
{
SetKMode(TRUE);
memcpy(lpJpgBuffer,(void *)image.rgb_address,Video_Width*Video_Height*2);
char tmp[1440];
int tmp_i=0;
for(int i=0;i
{
tmp[tmp_i]=lpJpgBuffer;
tmp_i++;
if(tmp_i==1440)
{
m_CEUdp.SendData(tmp,1440);
tmp_i=0;
}
}
}
};
想着将摄像头采集到的视频数据存储在一个临时的数组中,通过对这个临时数组的数据分割,完成数据的分包存储,然后通过UDP将视频包发送。
大家帮忙看看程序问题在哪,怎么才能实现视频的传输呢???
|
|