如何分析视频文件的信息

HYHAHA 2003-09-03 09:29:59
各位大哥,第一次提问,有点紧张。
想要学习DirectShow,试着作一个视频播放软件。请问如何分析视频文件的基本信息?如文件是AVI、MPEG1还是MPEG2,如何取得象总帧数、文件Size等等的信息,在SDK的示例程序中没有找到、文档有太大不知如何找。
谢谢
...全文
441 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
thisisyjs 2003-09-18
  • 打赏
  • 举报
回复
如果仅仅做播放器,使用DirectShow设定好文件名(扩展名很重要),然后用FilterGraph的RenderFile方法即可。
shenming123 2003-09-18
  • 打赏
  • 举报
回复
IMediaSeeking::GetDuration可取得总帧数
不过要先设时间格式IMediaSeeking::SetTimeFormat
file size 还需要directshow吗
HYHAHA 2003-09-17
  • 打赏
  • 举报
回复
dd
nicolas 2003-09-12
  • 打赏
  • 举报
回复
你解释它的文件头信息已可以了。
HYHAHA 2003-09-09
  • 打赏
  • 举报
回复
PlayWnd好像没有分析视频信息的部分吧,根据PlayWnd播放部分当然简单,请shenming123(bluesky) 兄指教。
shenming123 2003-09-08
  • 打赏
  • 举报
回复
很简单,dxsdk有一个例子就是PlayWnd
HYHAHA 2003-09-05
  • 打赏
  • 举报
回复
如果有书的话最好了,先谢了,出了一定买一本。
happydeer 2003-09-05
  • 打赏
  • 举报
回复
判断文件类型,一种最简单的方法是通过文件扩展名。

另外在DirectShow中,你可以分别构建源文件的播放Filter Graph链路,然后根据使用的解码Filter类型来判断源文件的类型。比如解码AVI文件会用到AVI Splitter等,解码Mpeg1会用到Mpeg1 stream splitter等,解码mpeg2会用到mpeg2 splitter等。

当用DirectShow构建了源文件播放完整的Filter Graph,其他信息如图像的大小,视频的时间长度等都可以通过Filter Graph Manager上的接口获得。

更多关于DirectShow的知识,请关注本人的《DirectShow开发宝典》一书,该书将在2个月内出版!
azhui_992431 2003-09-04
  • 打赏
  • 举报
回复
请问哪儿有media 9的sdk下载,小弟找遍了Mircosoft MSDN DownLoad 中心也找不到,谢谢
whitewindJJ 2003-09-03
  • 打赏
  • 举报
回复
对于avi文件的结构可以看msdn 中的avi riff file reference
avi文件的播放参考msdn的 avifile functions and macros
只有将上面的一些文档看明白,播放avi基本上没什么太大的问题
hbffff 2003-09-03
  • 打赏
  • 举报
回复
这个问题应该分两部分:
首先是视频文件格式()。正确的说是媒体文件格式,因为可能包含音频等其他内容。
现在的主流媒体文件格式都是所谓的“容器格式”,如mpeg4,asf,包括avi都是。
你要操作文件,就需要该文件格式的sdk,要是更牛些,自己学习文件格式然后写代码处理。
比方directshow最常操作的asf文件,你就需要format sdk。当然有现成的filter可供使用。
其次,更深入些,是视频流格式。比方mpeg4的视频流,每个帧头记录了该帧的详细信息,
这是供解码用的。估计你也不用。

所以一句话:先去下载media 9的sdk,熟悉一下format sdk。就触类旁通了。
HYHAHA 2003-09-03
  • 打赏
  • 举报
回复
谢谢你,whitewindJJ(悠悠)。
不过,我不只是想播放AVI,如果是AVI那MCI应该就可以了。我是想播放多种格式的视频文件,但始终找不到这方面的资料,我有一点COM的概念,MFC也算用了一段时间,所以对DirectShow比较感兴趣,希望找到中文资料,或者那位大哥知道直接告诉我应该查询什么接口,调什么函数,传什么类型的参数,嘿嘿,如果有一段代码就更好了。
再次感谢!

2,541

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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