📄 subject_60589.htm
字号:
<p>
序号:60589 发表者:security6 发表日期:2003-11-14 11:31:33
<br>主题:视频聊天问题:接收端大面积马赛克,但少量景物依稀可辩
<br>内容:程序样板DSNetwork,改两处(接收端和发送端代码相同):<BR>/*接收端*/<BR>HRESULT CNetOutputPin::GetMediaType (IN int iPosition,OUT CMediaType * pmt )<BR>/*发送端*/<BR>/*HRESULT CInputPin::GetMediaType (IN int iPos,OUT CMediaType * pmt)*/<BR>/*下面为相同的代码*/<BR>{<BR> HRESULT hr ;<BR><BR> if (iPosition == 0) {<BR> ASSERT (pmt) ;<BR> pmt -> InitMediaType () ;<BR><BR> pmt -> SetType (& MEDIATYPE_Video) ;<BR> pmt -> SetSubtype (& MEDIASUBTYPE_DIVX) ;<BR> ////修改format///////<BR> VIDEOINFO *pvi = (VIDEOINFO *) pmt->AllocFormatBuffer(sizeof(VIDEOINFO));<BR> ZeroMemory(pvi, sizeof(VIDEOINFO));<BR> DWORD fccXvid = 'DIVX'; <BR> pvi->bmiHeader.biCompression = fccXvid;<BR> pvi->bmiHeader.biBitCount = 24;<BR> pvi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);<BR> pvi->bmiHeader.biWidth = 352;<BR> pvi->bmiHeader.biHeight = 288;<BR> pvi->bmiHeader.biSizeImage = GetBitmapSize(&pvi->bmiHeader);<BR> SetRectEmpty(&(pvi->rcSource));<BR> SetRectEmpty(&(pvi->rcTarget));<BR> pmt->SetFormatType(&FORMAT_VideoInfo);<BR> pmt->SetSampleSize(pvi->bmiHeader.biSizeImage);<BR><BR> hr = S_OK ;<BR> }<BR> else {<BR> hr = VFW_S_NO_MORE_ITEMS ;<BR> }<BR> return hr ;<BR>}<BR>编译注册后,grpahEdit连接成功,Sender 发送广播包,receiver 接收到了广播包但出现接收端大面积马赛克,但少量景物依稀可辩(例如个别文字)。<BR>graphEdit 图如下(图中的MPEG-2应为DIVX)
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:security6 回复日期:2003-11-14 18:26:02
<br>内容:马赛克我已经去掉,但现在又有一个问题,当接收端启动后整屏显示一片绿色,有动的景物时画面就刷新出来,图象很清晰,但过个十几分钟后图象变得不清晰了,就好象近视眼看景物的感觉,我的问题有两个:<BR>1。为什么一开始,整屏为绿色,如何解决<BR>2。为什么时间久了,图象会变的不清晰,是不是掉了包(我在居于网试的)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-11-17 09:43:08
<br>内容:把DIVX ENCODER的GOP参数改小一些,比如说是30,默认情况下时300
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:security6 回复日期:2003-11-17 11:52:52
<br>内容:gzast163:<BR> 很高兴看到你!我一直在拜读你的大贴,获益菲浅!!!<BR> <BR> 请别见笑,DIVX ENCODER的GOP参数在哪改(Divx codec 的属性页中吗)?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:security6 回复日期:2003-11-18 13:39:15
<br>内容:这里有一副图(左为本地显示,右为客端显示),是上面问题的效果图,图中红色尖头是失真部分,我是新手,希望遇到同样问题的朋友一起来交流!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-11-18 18:12:28
<br>内容:DIVX ENCODER的GOP参数可以在Divx codec 的属性页中修改,也可以通过程序(put_KeyFrameRate)来修改。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Ian Zhuang 回复日期:2003-11-19 14:14:34
<br>内容:请问搂主是怎样解决马赛克问题的,能否赐教一二,不胜感激。<BR><BR>ianzhuang@126.com
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-11-19 15:36:53
<br>内容:把代码发给我,我帮你看看到底是什么回事吧?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:security6 回复日期:2003-11-19 16:49:47
<br>内容:gzast163:<BR> 你好!代码已经发给你!<BR><BR>马赛克问题还没有彻底解决,我现在还没有确切答案,还在研究
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:security6 回复日期:2003-11-19 17:03:46
<br>内容:还有一个情况我要反映一下:就是当广播端(捕获视频)关掉后再打开(接收端不关闭),或者广播端打开,接收端从关闭状态到打开后开始一段时间里,图象失真,如果用手在镜头前抹动,接收端就像在抹玻璃一样慢慢清晰!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:陈岱如 回复日期:2003-11-19 17:34:25
<br>内容:我也遇到一样的问题,security兄弟,你是怎么解决马赛克问题的,请给点提示。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-11-19 20:01:29
<br>内容:9楼的security6:<BR> 你的采集卡默认输出分辨率是多少?<BR><BR>我用的USB摄象头默认分辨率是320X240,所以我把你程序有关分辨率设成320x240,效果已经比较好,不象你所说那样多的马赛克。只是显示窗口下部有一个规定区域没有刷新,估计是数据对IMediaSample的理解上还有点问题。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:陈岱如 回复日期:2003-11-19 20:45:02
<br>内容:gzast163兄,您好,您说要使用IID_IAMVfwCompressDialogs 接口对DivX5.0.5 coder进行设置,我倒是把那个对话框弄出来了,不过不知道怎么设置,所以问题没有解决,再次请教。<BR>这次附上图,分别是发送端(采集端)和接收端的视频图像,接收端出了马赛克,不知道这是发送端的原因(例如编码)还是接受端的原因(例如解码)?<BR>我使用320X240
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-11-20 09:12:07
<br>内容:DivX5.0.5 coder属性页的general parameters里的max keyframe定义了GOP的大小(即多少FRAME里有一个I-FRAME),GOP越小,I-FRAME越多,图像质量越好,但数据量越大。<BR><BR>我看了security6的代码也有象你所说的问题(马赛克),只是出现得非常少,而且区域很小,不向你那个那么大,我正在查原因。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -