directshow 采集的视频 花屏

lovesh5 2011-03-02 08:51:21
哪位大侠知道 这个是什么原因导致的? directshow 采集的视频
...全文
321 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovesh5 2011-04-22
  • 打赏
  • 举报
回复
最总可能是宽度问题 然后我采用别的方法了
wangxy200696 2011-04-10
  • 打赏
  • 举报
回复
对了,我还想起一种方法,这个方法就是针对花屏的问题。

在看优酷网的视频时,我这里经常就出现花屏这个问题,解决方法是
桌面属性->高级->疑难解答->硬件加速
调整为倒数第二个或倒数第三个.

还有你这个问题还可能与制式有关的
wangxy200696 2011-04-10
  • 打赏
  • 举报
回复
我碰到过一个绿屏问题,就是在录视频预览时,出现绿屏。解决方法是将Capture和Preview的的分辨率设置成一样大小的就好了,不知道对楼主有没有帮助?
cpmax 2011-04-06
  • 打赏
  • 举报
回复
楼上这位预览不了视频,是因为陆老师里的采集设备的是用Capture作为输出PIN的名称,因为现在大部分的摄像头都不是这个,而是用了中文的”捕获“作为输出PIN,大家改一下这里就可以了!
如果不知道自己采集设备的输出PIN的名称,可以用GraphEdit看一下自己的采集设备的输出PIN的名字就可以了!
陆老师的那个AVCHAT我改了不少,也用了它里面的代码自己做了一个视频传输的P2P,感兴趣的朋友可以同我交流,我的QQ:281120832
在这里也要感谢一下陆老师!
shuiliukanjing 2011-03-29
  • 打赏
  • 举报
回复
哥们,我最近也在研究陆老师的例程,其中我用他的AVChat这个例程时,预览不了视频,不知是什么原因,望高手指点下!谢谢!
luckydongbb 2011-03-12
  • 打赏
  • 举报
回复
我以前在抓取图片的时候也遇到过这个问题,后来发现是这里出错了:
AM_MEDIA_TYPE mediaType;
ZeroMemory( &mediaType, sizeof(AM_MEDIA_TYPE) );
mediaType.majortype = MEDIATYPE_Video;
mediaType.subtype = MEDIASUBTYPE_RGB24; //就是这一句,我之前是根据屏幕配置来设置的RGB类型,单步跟踪时发现该项被赋为了MEDIASUBTYPE_RGB32
m_pGrabber->SetMediaType( &mediaType );
然后在保存图片时:
BITMAPINFOHEADER bih;
memset( &bih, 0, sizeof( bih ) );
bih.biSize = sizeof( bih );
bih.biWidth = lWidth;
bih.biHeight = lHeight;
bih.biPlanes = 1;
bih.biBitCount = 24; //注意,这个地方要和上面保持一致,如果上面是32而这个地方是24的话,保存的图片就是你给的图片的效果。

不知道能不能解决你的问题~~
u9085 2011-03-08
  • 打赏
  • 举报
回复
是不是驱动程序有问题呀,你重新安装一下驱动试试。
lovesh5 2011-03-03
  • 打赏
  • 举报
回复
我又加了20分 一共就这几分 希望大家帮帮忙!~
lovesh5 2011-03-03
  • 打赏
  • 举报
回复
大家帮帮忙 5555 我这里没设置制式啊 需要设置制式吗? 《DirectShow实务精选》例子AVChat里面也没有设置制式啊!~ 宽度我设置的是160 高度120

// Preferred capture size
const long Preferred_Width = 160;
const long Preferred_Height = 120;

void CCaptureDevice::AdjustOutput(void)
{
HRESULT hr = S_OK;
AM_MEDIA_TYPE * pmt = NULL;
LONGLONG avgTimePerFrame = 2000000; // 20fps

pmt = SelectMediaType();
if (pmt)
{
if (pmt->formattype == FORMAT_VideoInfo)
{
VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *) pmt->pbFormat;
pvi->AvgTimePerFrame = avgTimePerFrame;
pvi->bmiHeader.biWidth = Preferred_Width;
pvi->bmiHeader.biHeight = Preferred_Height;
pvi->bmiHeader.biSizeImage = Preferred_Width * Preferred_Height * pvi->bmiHeader.biBitCount / 8;

IAMStreamConfig * pCfg = GetStreamConfig();
hr = pCfg->SetFormat(pmt);
}
DeleteMediaType(pmt);
}
}




void CVideoWindow::OutVideo( char* pData, int len )
{
HDC hdc = GetDC( m_hWnd );
DrawDibDraw( m_HDrawDib,
hdc,
0, //左偏移
0, //顶偏移
-1, //缩放x
-1, //缩放y
&m_BmpInfo->bmiHeader, //图象头
pData, //图象数据
//图象大小
0, // src :left
0, // src :top
IMAGE_WIDTH, // src : width
IMAGE_HEIGHT, // src : height
//画出模式
0 // use prev params....
);
DeleteDC( hdc );
}
caoatcao 2011-03-02
  • 打赏
  • 举报
回复
制式问题,你看看是N还是P
lovesh5 2011-03-02
  • 打赏
  • 举报
回复
谢谢大家回复我,但是我还是没能解决,不知道在哪里设置才行,我把代码传上去了,希望哪位好心人帮忙看看,谢谢啦。这个是网狐代码里的视频那个,http://download.csdn.net/source/3053270
dengzikun 2011-03-02
  • 打赏
  • 举报
回复
估计是制式问题。
CyberLogix 2011-03-02
  • 打赏
  • 举报
回复
因该是宽度有问题把
rageliu 2011-03-02
  • 打赏
  • 举报
回复
对齐吧

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧