如何分析视频文件的信息

HYHAHA 2003-09-03 09:29:59
各位大哥,第一次提问,有点紧张。
想要学习DirectShow,试着作一个视频播放软件。请问如何分析视频文件的基本信息?如文件是AVI、MPEG1还是MPEG2,如何取得象总帧数、文件Size等等的信息,在SDK的示例程序中没有找到、文档有太大不知如何找。
谢谢
...全文
563 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比较感兴趣,希望找到中文资料,或者那位大哥知道直接告诉我应该查询什么接口,调什么函数,传什么类型的参数,嘿嘿,如果有一段代码就更好了。
再次感谢!
内容概要:本文围绕基于三重移相控制(TPS)的双有源桥(DAB)高频隔离DC-DC变换器开展系统性研究,重点构建了其在Simulink环境下的高精度仿真模型。研究全面涵盖SPS单相移相、DPS双重重移相与TPS三重移相等多种控制策略的建模、实现与性能对比,深入分析不同模式下变换器的功率传输特性、软开关实现条件及功率回流问题,旨在提升DAB在交直流混合微电网、能量路由器、多端口柔性互联装置等场景中的转换效率与动态响应能力。通过对ZVS(零电压切换)条件的精确控制与移相角参数的优化,有效降低了开关损耗,增强了系统整体能效与运行稳定性。该仿真模型具有良好的可扩展性,适用于复杂电能转换系统的科研验证与工程开发。; 适合人群:电力电子、电气工程及其自动化等相关专业的硕士研究生、博士生、科研人员以及从事新能源变换器、柔性输配电系统设计的工程技术人员。; 使用场景及目标:①掌握双有源桥DAB变换器的基本工作原理及其在高频隔离场合的核心优势;②深入理解三重移相控制策略的设计机理、控制自由度分配及其在效率优化中的关键作用;③构建并调试可用于科研论文撰写、项目申报或实际系统验证的高保真Simulink仿真模型,支撑理论分析与实验对比。; 阅读建议:建议结合MATLAB/Simulink平台进行动手实践,重点关注主电路拓扑搭建、移相控制模块设计、驱动信号时序配置及ZVS实现条件的仿真观测,推荐通过对比SPS、DPS与TPS三种模式的稳态与动态响应曲线,深入掌握各控制策略的适用边界与优化方向。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

2,554

社区成员

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

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