Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取视频文件的总帧数?_C#_Multimedia - Fatal编程技术网

C# 如何获取视频文件的总帧数?

C# 如何获取视频文件的总帧数?,c#,multimedia,C#,Multimedia,如何获取视频文件的总帧数?我正在开发视频测速仪软件 计算视频中运动物体的平均速度,但问题是我无法计算出如何获得特定视频的总帧数 公式: Total time= ObjectFrameRate (f/s) * (1/ TotalNumberOfFrame) AveVelocity=位移/总时间解决方案是使用“Dexter 1.0 TypeLib”。您需要首先添加对它的引用。它位于COM对象下(库由MS提供)。然后您可以使用以下代码: string filePath = "C:\\testVide

如何获取视频文件的总帧数?我正在开发视频测速仪软件 计算视频中运动物体的平均速度,但问题是我无法计算出如何获得特定视频的总帧数

公式:

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

AveVelocity=位移/总时间

解决方案是使用“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”没有定义构造函数这很奇怪,因为它对我来说工作得很好。但是你必须将帧率乘以视频的持续时间(以秒为单位)。