VGA采集卡

您现在的位置: 九视 >> vga采集卡 >> 正文

视频采集卡获取原始输入视频信号的图像大小和帧率

作者:九视视频网 来源:www.xiangb.com 发表时间: 2013-6-7

  九视高清视频采集卡系列SDK在不断升级完善,根据用户需求会增加相应的功能。本文主要介绍两种方法,用于获取采集卡输入原始视频信号的图像大小和帧率。

  1、使用XI SDK 获取

  获得XIProperty句柄;

以下是代码片段:

  1. Int nSel = 0;
  2. VIDEO_CAPTURE_INFO vidCapInfo;
  3. XIS_GetVideoCaptureInfo(nSel, &vidCapInfo);
  4. HANDLE hVideoDevice = XIS_OpenVideoCapture(vidCapInfo.szDShowID);
  5. HANDLE hProperty = XIS_OpenVideoCapturePropertyHandle(hVideoDevice);

  用XIPHD_GetSignalFormat函数或者XIPCVBS_GetSignalFormat获取原始图像大小和帧率;

以下是引用片段:
 1、HRESULT LIBXIPROPERTY_API XIPHD_GetSignalFormat(HANDLEhXIProperty,int *pnSignalWidth,int *pnSignalHeight,int *pnSignalFrameDuration);

  pnSignalWidth返回信号原始宽度(像素数),

  pnSignalHeight返回信号原始高度(像素数),

  pnSignalFrameDuration返回信号原始帧间隔(以100ns为单位)。

  用XIPHD_GetDefClip函数或者XIPCVBS_GetDefClip可获取裁剪后的大小;

以下是代码片段:
1、HRESULT LIBXIPROPERTY_APIXIPHD_GetDefClip(HANDLE hXIProperty,Int* pnLeft,int*pnTop,int*pnWidth,int *pnHeight);

  pnLeft、pnTop分别返回画面左侧和上方切除的像素数,

  pnWidth、pnHeight分别返回裁剪后的图像宽度和高度。

  2、使用DirectShow获取

  获取IAMStreamConfig指针;

以下是代码片段:
  1. IAMStreamConfig * m_pVideoConfig = NULL;
  2. ICaptureGraphBuilder2::FindInterface(&PIN_CATEGORY_CAPTURE,  &MEDIATYPE_Interleaved, m_pVideoCapture, IID_IAMStreamConfig, (void **)&m_pVideoConfig);
  3. ICaptureGraphBuilder2::FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, m_pVideoCapture, IID_IAMStreamConfig, (void **)&m_pVideoConfig);

  调用IAMStreamConfig::GetStreamCaps函数获得视频格式;

以下是代码片段:

  1. Int iFormat = 0;//以第一个支持的视频格式为例
  2. VIDEO_STREAM_CONFIG_CAPS scc;
  3. AM_MEDIA_TYPE *pmtConfig;
  4. IAMStreamConfig:: GetStreamCaps(iFormat, &pmtConfig, (BYTE*)&scc);
  5. if ((pmtConfig->majortype == MEDIATYPE_Video) && (pmtConfig->subtype == MEDIASUBTYPE_YUY2)) {
  6. if (pmtConfig->formattype == FORMAT_VideoInfo)
  7. {
  8. VIDEOINFO * pVideoInfo = (VIDEOINFO*) pmtConfig->pbFormat;
  9. }
  10. }

  VIDEO_STREAM_CONFIG_CAPS结构体中的SIZE InputSize就是视频大小,VIDEOINFO 结构体中的REFERENCE_TIME AvgTimePerFrame就是原始帧间隔;

  可以定时获取 InputSize 以检测输入视频源的大小是否发生变化. 即使是graphbuilder正处于运行状态也可以正常获取该值。



站内搜索





深圳九视电子科技有限青苹果影院从事九视电子系列视频采集卡图像采集卡av大片在线播放盒HDMI采集卡SDI采集卡USB3.0采集卡高清视频采集卡USB视频采集卡视频信号转换器非编卡HDMI分配器HDMI切换器等视频产品研发,应用推广的专业青苹果影院.亚洲色图欧美色图.


© 2002-2009 深圳九视电子科技有限青苹果影院 版权所有 | ICP备11049046号-2

销售热线: 亚洲色图欧美色图 (总机)

销售地址:深圳市龙岗区龙城街道吉祥路正中风临国际中心A2202

条评论