续~求教 写视频播放器 文件为m4v格式 文件中保存的是MPEG4压缩后的视频流数据 可以直接播放吗?标题要长

VCLIFE 2010-09-24 10:08:36
上篇帖子的篇幅过长,不利于查看,所以又开一个帖子。这里对上帖子的东西也做一个总结。
重新描述问题:在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的库?等等,请指教
...全文
465 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuangmengjie 2011-01-09
  • 打赏
  • 举报
回复
你好,你弄好了播放mpeg-4格式的播放器了吗?
是怎么弄的啊?我最近也在做这方面的东西,想要做个播放器
但是网上大多数的代码是播不了的,不知道你是怎么实现的?
VCLIFE 2010-09-29
  • 打赏
  • 举报
回复
感谢各位大神的帮助,终于找到要找的东西了
K-lite里面有这个解码器....FUCK....终于长出一口气
VCLIFE 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 oexpress 的回复:]

就是MPEG4的视频马,很简单的,ffdshow就可以解码的,不行的话使用ffmpeg解码,在这WINCE上不是有个XVID等开源库里TCPMP播放器马,保证100%可以播放
[/Quote]
你的意思让我找ffdshow源码去做吗?
ffdshow可不可以安装以后,用他的解码插件在dshow里实现
CyberLogix 2010-09-29
  • 打赏
  • 举报
回复
就是MPEG4的视频马,很简单的,ffdshow就可以解码的,不行的话使用ffmpeg解码,在这WINCE上不是有个XVID等开源库里TCPMP播放器马,保证100%可以播放
VCLIFE 2010-09-27
  • 打赏
  • 举报
回复
顶一下,别沉了,大家帮忙分析分析
VCLIFE 2010-09-24
  • 打赏
  • 举报
回复
Format : MPEG-4 Visual
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难道可以?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧