上篇帖子的篇幅过长,不利于查看,所以又开一个帖子。这里对上帖子的东西也做一个总结。
重新描述问题:在wince环境下采集视频数据,并用三星的6410硬件加速器压缩原始数据,压缩算法是MPEG-4,压缩后的数据直接存入文件,保存为.m4v格式(此处格式是什么在PC机上没有区别)。注意此处存文件的时候,没有用任何的容器格式,就是视频流数据直接写入文件,不符合任何格式,所以也没什么文件头之类的信息,也导致无法被大部分的播放器打开。上述文件在PC上可以被强大的暴风影音打开播放,视频播放则无法控制。于是,需要自己写一个播放器来实现这个工作。准备用dshow来实现这个播放器,现在的问题就是关于MPEG-4解码的问题。如果能找到现成的dshow MPEG-4 解码filter,那么我的dshow程序多了。为了找到这个解码的filter,我安装了DIVX XVID等等一堆的插件,这些插件安装后,如果能正确解码我的视频文件,那么我用GraphEdit应该能打开此文件?,又或者我用media player应该可以播放此文件,这样就证明dshow可以实现播放,不知道这个理解是否正确。看到CSDN的朋友的建议,我装了个MKPlayer试了试,无法打开视频文件来播放,不过倒是查出点视频文件的信息如下:
未找到可用于流呈现的筛选器组合,ERROR NUM:80040218
--------------------
[文件信息]
--------------------
C:\Documents and Settings\Nicky\桌面\Video_1.m4v
General
Complete name : C:\Documents and Settings\Nicky\桌面\Video_1.m4v
Format : MPEG-4 Visual
File size : 681 KiB
Video
Format : MPEG-4 Visual
Format profile : Simple@L4a
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Resolution : 24 bits
Scan type : Progressive各位能不能从上述的信息帮我看出点什么道道。难道真的找不到对应可以解码的direcdshow filter?如果找不到,我是不是需要去找源码来做解码部分,又或是其他的方式,用FFDSHOW FFMPEG的库?等等,请指教
重新描述问题:在wince环境下采集视频数据,并用三星的6410硬件加速器压缩原始数据,压缩算法是MPEG-4,压缩后的数据直接存入文件,保存为.m4v格式(此处格式是什么在PC机上没有区别)。注意此处存文件的时候,没有用任何的容器格式,就是视频流数据直接写入文件,不符合任何格式,所以也没什么文件头之类的信息,也导致无法被大部分的播放器打开。上述文件在PC上可以被强大的暴风影音打开播放,视频播放则无法控制。于是,需要自己写一个播放器来实现这个工作。准备用dshow来实现这个播放器,现在的问题就是关于MPEG-4解码的问题。如果能找到现成的dshow MPEG-4 解码filter,那么我的dshow程序多了。为了找到这个解码的filter,我安装了DIVX XVID等等一堆的插件,这些插件安装后,如果能正确解码我的视频文件,那么我用GraphEdit应该能打开此文件?,又或者我用media player应该可以播放此文件,这样就证明dshow可以实现播放,不知道这个理解是否正确。看到CSDN的朋友的建议,我装了个MKPlayer试了试,无法打开视频文件来播放,不过倒是查出点视频文件的信息如下:
未找到可用于流呈现的筛选器组合,ERROR NUM:80040218
--------------------
[文件信息]
--------------------
C:\Documents and Settings\Nicky\桌面\Video_1.m4v
General
Complete name : C:\Documents and Settings\Nicky\桌面\Video_1.m4v
Format : MPEG-4 Visual
File size : 681 KiB
Video
Format : MPEG-4 Visual
Format profile : Simple@L4a
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Resolution : 24 bits
Scan type : Progressive各位能不能从上述的信息帮我看出点什么道道。难道真的找不到对应可以解码的direcdshow filter?如果找不到,我是不是需要去找源码来做解码部分,又或是其他的方式,用FFDSHOW FFMPEG的库?等等,请指教
解决方案 »
- 求 WindowsNT 4.0源代码
- 使用InvalidateRect,为何会更改与控件关联的变量值
- exe LoadLibrary后,调用完dll中的函数,不FreeLibrary,而在exe退出才FreeLibrary,这样有没有什么不良影响?
- 请问在vista下可以SSDT HOOK么?比如对ZwCreateProcessEx()函数
- vector多余未用的部分容量如何释放掉,压缩内存
- 如何将http返回的头信息和数据分开?为何我得到的数据是部分数据?
- CArray<CPassenger,CPassenger&> m_passengers; 这条语句错在了哪里?
- 请问Win32 Console Application与Win32 Application有何区别?
- 创建一个对话框//把对话框的hdc Bitblt屏幕hdc里。。。是对话框的什么消息里进行拷贝?
- 大虾们进来呀——使用com连接sql数据库的效率问题
- SQL数据库的2进制数据存储问题
- 小试文件保存功能,出现连接错误MySerialDoc.obj : error LNK2001: unresolved external symbol "publ
Format profile : Simple@L2
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)网上查到这好像是MPEG-4 part2 压缩标准。能找到这样的解码插件吗?还有纠结的,以下是MSDN的东西:
MPEG-4 Part 2 Video Decoder
The MPEG4 Part 2 Video decoder decodes video streams that were encoded according to the MPEG4 Part 2 standard.You can create an instance of the MPEG4 Part 2 Video decoder by calling CoCreateInstance. To create an instance of the decoder that behaves as a DirectX Media Object (DMO), use the class identifier CLSID_CMpeg4sDecMediaObject. To create an istance of the decoder that behaves as a Media Foundation Transform (MFT), use the class identifier CLSID_CMpeg4sDecMFT.微软可以解码这个格式?但是GraphEdit都打不开,media player不能播,dshow难道可以?
ffdshow可不可以安装以后,用他的解码插件在dshow里实现
K-lite里面有这个解码器....FUCK....终于长出一口气
是怎么弄的啊?我最近也在做这方面的东西,想要做个播放器
但是网上大多数的代码是播不了的,不知道你是怎么实现的?