在Directshow种的avi splitter filter在一开始播放前就要读avi文件的index chunk,但是avi文件的index chunk是在文件的末尾,然后再按照index chunk里的顺序来一帧一帧地读数据给decompressor filter。主要是Filter连接的时候,avi splitter会要求读取avi文件尾的一些信息,现在我得一个局域网视频点播系统,在使用Mpeg文件时能很正常的播放,但是对于avi文件,由于上面的原因,就没有办法一边传输一边播放了,有没有好的方法?有没有可能自己写一个avi splitter filter使得没有index chunk的情况下也能正常的播放文件?各位DX有没有好的方法?
楼上的能不能说一下具体改如何写?基本的步骤是什么?
数据如何传输,如何解出图像数据等等
2.AVI是一种存放视频的多媒体文件格式,它包含的视频数据是不确定的,可以是MJPEG,MPEG4,也可以是其它类型的数据,这个要视你所接收到的具体文件而定;你根据所接收文件的视频格式,写一个解单帧图像的解码器(例如JPEG DECODER),将单帧数据解到DIB中,在MFC下如何显示一个DIB你应该知道吧。只要解码和刷新速度够快,就是一个视频播放器啊。DS肯定也是这么一个做法,只是它的效率高而已。
3.真的要照我的建议进行的话,你必须熟悉AVI文件格式,至少是你可能接收到的AVI格式。
给一点提示也可以!
我也用DirectShow开发程序,但总是出现链接错误(Tools->Options->Directories里面也包含的DirectX的东西),我还差什么Lib文件吗?
谢谢!
see IWMWriterNetworkSink Interface in Windows Media Format 9 Series SDK