【问题标题】:How do I get the TOTAL NUMBER of FRAME of a Video file?如何获取视频文件的总帧数?
【发布时间】:2013-07-19 05:13:40
【问题描述】:

如何获取视频文件的总帧数?我正在开发视频速度计软件 计算视频中移动对象的平均速度,但问题是我无法弄清楚如何获取特定视频的 TotalNumberOfFrame。

公式:

Total time= ObjectFrameRate (f/s) * (1/ TotalNumberOfFrame)

AveVelocity=位移/总时间

【问题讨论】:

  • 什么叫“总帧率”?帧率我搞定了,总帧数也是,但是“总帧率”???
  • 这将在不同的视频文件和编解码器类型中完全不同。您需要更具体地了解您正在使用的视频类型。
  • 我的意思是总帧数?
  • 你的意思是总帧数吗?
  • 是的,我就是这个意思

标签: c# multimedia


【解决方案1】:

解决方案是使用“Dexter 1.0 TypeLib”。您需要先添加对它的引用。它位于 COM 对象下(该库由 MS 提供)。然后你可以使用这个代码:

string filePath = "C:\\testVideo.avi";
MediaDet md = new MediaDetClass(); 
md.Filename = filePath; 
md.CurrentStream = 0;
double FrameRate = md.FrameRate;

【讨论】:

  • 返回总帧数?
  • 我收到错误“DexterLib.MediaDetClass”没有定义构造函数
  • 这很奇怪,因为它非常适合我。但是您必须将帧速率乘以视频持续时间(以秒为单位)。
猜你喜欢
  • 2013-02-21
  • 2023-03-27
  • 2020-06-07
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多