播放avi文件问题?
我有一个avi文件,里面的视频数据是H.264压缩过的视频数据,我用VLC播放器打开它,可以正常播放,我现在需要自己做一个播放器播放这个文件,应该怎么做啊?我自己用AVI那套函数做了一个简单的播放器,可以播放一些操作系统上自带的avi文件,但是当播放我这个文件的时候 ,就是播放不出来,十万火急啊?求告人指点,有源码更好,
其实需求很简单,就是只要可以播放这个avi文件就行了?
[解决办法]
首先你要确定的是demux错误,还是decode错误?
你可以将demux出来的H264 raw data,用player播放看看是否能播,如果不能播,你就需要查看一下demux出来的data是否正确。
另外,你播放的操作系统自带的AVI文件,是H264吗?
[解决办法]
可能是没有DECODER filter吧。自己写的代码可以直接调试,看是哪里filter连接有问题。
你下载了ffdshow看能不能window media player能播么。如果不能播,就是文件格式问题了
[解决办法]
先用Windows Media Player 打开试试 只有他打得开文件
你用DS搭起来的播放器才能打开
否则就只能自己写编解码器了 这个工作量就相当可以啦
或者用人家写好的也行 不过不是很好找 pudn上好像有
[解决办法]
你需要一个h.264的解码器,和一个AVI的解析器,并将他们合并起来。首先,经过AVI解析器变成h.264裸码流,然后再用h.264解码器解码。
如果有现成的解码器和解析器,而你本人有相关经验的话,可以尝试看看。
我的看法,感觉H.264的码流似乎很少用AVI进行封装的,因为H.264目标是为了给出一个高清的网络传输方案,而AVI封装更多应用于DVD、VCD,不适于网络传输应用。H.264码流更多用mpeg的TS封装,所以支持解码AVI封装的H.264码流的解码器一般没人做。
你可以试试ffmpeg是否可以解析这样的码流。