📄 subject_31630.htm
字号:
<p>
序号:31630 发表者:polly 发表日期:2003-03-06 09:32:44
<br>主题:还是关于如何用DirectShow播放从服务端传过来的网络视频流(MPEG-1)的问题。
<br>内容:现在我在client端已经可以播放mpeg1了,但是前提是网络传输速度要比播放速度快,否则就基本上play不出来。这到底是为什么呢?是由于我的player某项参数没有设置好,或者是我自己的程序有bug,或者directshow就是这样?我希望能传过来一点数据就能播一点,请问有可能做到吗?<BR>请高手指教,谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:mikezhao 回复日期:2003-03-06 10:31:22
<br>内容:“传过来一点数据就能播一点”当然可以,这就是推模式所做的事情呀。<BR>我也正考虑要自己写推模式的源过滤器。不如同写?<BR><BR>你的客户端可以播什么样的mpeg1文件了?*.mpg?*.dat呢?<BR>如果你用的是网站上的例子,我可以告诉你,是服务器端每次传送的字节数太少。把2324那个默认值改大,播放就流畅了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:polly 回复日期:2003-03-06 11:57:13
<br>内容:我的client现在可以播放*.mpg文件。*.dat文件没有试过,不知道。<BR>我的source filter 用的是directshow 提供的sample filter 中的Async Filter,然后改了一下memfile.h。看来是不是用错了?因为这个是pull模式的,而Live应该用push的。可是为什么那么多人用这个sample做呢?<BR>另外,网站上的例子在哪里?这个例子是不是也是用的pull模式?<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>
回复者:mikezhao 回复日期:2003-03-06 13:07:54
<br>内容:http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=365 <BR>试一下能不能播.dat文件吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:polly 回复日期:2003-03-06 13:31:02
<br>内容:是的是的!我就是用的这个例子!<BR>将2324改大是没有用的,因为传输的是Live Video。<BR>而且这个例子是用的pull模式。<BR>由于一下子找不到合适的*.dat文件,晚上回家再试。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:mikezhao 回复日期:2003-03-06 19:48:37
<br>内容:拉模式应该不能接收Live Video吧?<BR>奇怪<BR>我将2324改成32768就流畅了。其实Splite Filter每次索取的数据块大小就是32768字节。<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>
回复者:polly 回复日期:2003-03-07 10:11:46
<br>内容:唉,我改了,没用。刚开始的时候好一点,后来就不行了。我的live video的frame rate太低,跟render filter的对不上。看来对live video而言,还是要用push model的。<BR>完了,看来真的要自己写push model的source filter。我昨天看了一下directshow的sample,其中有一个是Push Source Filters Sample,不过是播放的bitmap,需要修改成mpeg1的。不知道是不是可行。我是个directshow刚入门的新手,如果要写这个filter的话,肯定会遇到很多问题。不知道是否可以向你请教^_^我的e-mail是:<BR>polly_peng@pmail.ntu.edu.sg<BR>还有,上次你说的*.dat的文件,由于.dat不是一个标准的视频压缩方式,你具体是指那一类呢?是MPEG1,MPEG2,AVI还是什么?<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-03-12 14:20:26
<br>内容:我也再写这样的程序,不过我好歹是可以实现一路视频通过LAN时时播放,但是对于多路,我还在研究?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:bit_blue_wind 回复日期:2003-05-28 11:18:48
<br>内容:请问大侠门,我使用的也是网站上的例子,但是就是不能播放。我调试后发现问题出在这里,帮忙看一下:HRESULT hr = m_pGB->Render(m_pSourceReader->GetPin(0));返回值是:0x80040218,VFW_E_CANNOT_REANDER,不知该怎样解决?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -