⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_56751.htm

📁 vc
💻 HTM
字号:
<p>
序号:56751 发表者:沈静 发表日期:2003-10-20 15:28:14
<br>主题:请问需要怎样设置Source filter的MediaType才能连接decompressor filter ?
<br>内容:我修改了DXSDK中filters目录下DSNetwork的Receive部分, 其中的代码:<BR><BR>CNetOutputPin::GetMediaType (<BR>&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iPosition,<BR>&nbsp;&nbsp;&nbsp;&nbsp;OUT CMediaType *&nbsp;&nbsp;&nbsp;&nbsp;pmt<BR>&nbsp;&nbsp;&nbsp;&nbsp;)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;HRESULT hr ;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if (iPosition == 0) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ASSERT (pmt) ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmt -&gt; InitMediaType () ;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmt -&gt; SetType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&amp; MEDIATYPE_Stream) ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmt -&gt; SetSubtype&nbsp;&nbsp; (&amp; MEDIASUBTYPE_MPEG2_TRANSPORT) ;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr = S_OK ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr = VFW_S_NO_MORE_ITEMS ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return hr ;<BR>}<BR><BR>我将SetSubtype修改为pmt-&gt;SetSubtype(&amp; MEDIASUBTYPE_MPEG1Video), 然后同样修改CheckMediaType, 最后重新注册dsnet.ax .<BR><BR>可是在GraphEdit中我无法连接其到MPEG-I Stream Splitter filter或其它任何解码器,<BR>我想请问各位是否我设置MediaType有问题,我希望将Internet上收到的stream送入解码filter. 如H263 Decode Filter .<BR><BR>衷心感谢您的帮助!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-10-21 10:09:16
<br>内容:把你的SOURCE CODE给我吧,我来帮你改。
<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-10-22 09:45:30
<br>内容:gzast163: 您好!<BR>&nbsp;&nbsp;&nbsp;&nbsp;我是希望借用DXSDK\Samples\C++\DirectShow\Filters\DSNetwork\Receiver中的例子,来做一个从Internet上接收音视频流的Source Filter . 例子是MPEG2格式, 我想改用其它格式,如MPEG1、MPEG4或H263(H263的压缩比好像非常大).<BR><BR>&nbsp;&nbsp; 我尝试修改CNetOutputPin::GetMediaType(), 生成.ax注册后, 我在GraphEdit中始终无法连接到后面的解码Filter,在这个问题上我一直停滞不前, 非常希望能得到帮助.<BR><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>
回复者:gzast163 回复日期:2003-10-22 10:02:13
<br>内容:我觉得你的思路是对的,可能问题出在一些细节上,如果信得过就把SOURCE CODE发给我,我帮你看看你的问题出在哪里。<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>
回复者:沈静 回复日期:2003-10-23 11:12:57
<br>内容:gzast163:您好!<BR>&nbsp;&nbsp;&nbsp;&nbsp;非常感谢您的邮件回复, 在您的邮件中,为了在Internet上传输视频您采用了Divx(MPEG4)或WMV编解码器。如果在普通网吧的环境下,不知这样的编解码方式能否得到可以接受的视频效果? 不知您认为H263编解码方式怎样?(我查SIP资料中好像是采用了H263。我也比较了用MPEG4和H263所生成的文件,H263还是小些)。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;在一个源代码的Source Filter中,如何判断它采用的是Pull模式还是Push模式呢?<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zhengyong 回复日期:2003-10-24 14:59:13
<br>内容:楼上的兄弟,你提出的问题后来解决没有??<BR><BR>可以直接将DSNetwork修改一下mediatype就能变成传输和接受其他压缩格式的流媒体嘛?<BR><BR>如果是这样那就太爽了。。<BR><BR>我想做mpeg4的流媒体传输,但只会弄本地部分,负责网络传输接收的sender和receiver始终没有头绪。<BR><BR>那位gzast163大虾是不是也搞这个呀?怎么个解决思路说出来大家听听啊,希望知道你们之间的来往信件内容,大家共同参研!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:gzast163 回复日期:2003-10-24 15:10:14
<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>
回复者:沈静 回复日期:2003-10-24 16:51:09
<br>内容:在发送端我是参考Dump示例, 内部网络控制参考DSNetwork.<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>
回复者:zhengyong 回复日期:2003-10-24 21:04:01
<br>内容:<BR>沈兄,能否把发送端的代码给兄弟一份呀。。。<BR><BR>大恩不言谢,有什么用的上兄弟的一定赴汤蹈火在所不辞<BR>我qq 25182649<BR>邮箱zhengyong918@163.com<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>
回复者:沈静 回复日期:2003-10-25 09:54:13
<br>内容:我是用Delphi编写的, 但思想是借鉴DXSDK示例.<BR><BR>我是这样做的: 在Dump中修改function Receive(),添加网络传输功能, 这可以借鉴DSNetwork\dssend\netsend.cpp . 不需要的地方去掉.<BR><BR>把这两个例子弄懂后应该很容易写的, 这是我的思想, 如果大家有更好的, 恳请赐教.<BR><BR><BR><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>
回复者:zhengyong 回复日期:2003-10-26 13:51:23
<br>内容:沈兄,你在做MPEG1压缩网络传输时<BR><BR>在服务器端的Sender部分,为什么要在Dump中修改,<BR><BR>而不能够象你做Receiver这部分的思路,<BR><BR>直接修改Subtype为其他压缩格式,而得到MPEG1的Sender filter呢?<BR><BR><BR>在修改Receiver部分时,<BR><BR>如果是做MPEG1的,那把 Subtype 改成 MEDIASUBTYPE_MPEG1Video 就行了<BR><BR>可如果我想做MPEG4的,比如Xvid的压缩,那Subtype怎么改呢?<BR><BR>我找不到类似MPEG1对应的MEDIASUBTYPE_MPEG1Video这样的标示来表示Xvid。。<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>
回复者:大辉郎 回复日期:2003-10-26 19:35:49
<br>内容:楼上 zhengyong<BR>可不可以在graphedit中连好Xvid后,查它的pin properties,然后copy subtype 的guid.在头文件定义一个static const IID类型.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zhengyong 回复日期:2003-10-27 09:55:57
<br>内容:上述问题已解决。。<BR><BR>不过dsnetwork改的receiver filter还是连不上xvid解码器<BR>可能是没设置format的问题<BR>沈兄也有同样的问题吧。。<BR>解决了通知我一声阿<BR>2003-10-27 10:12:18

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -