1

我试图找到视频文件的持续时间。我能够使用下面提到的 shellconcept 获得 , 等.mov的长度。.mp4

C# 从元数据中获取视频文件持续时间

我没有得到mxf文件的持续时间,是否可以在 C# 中计算它?

4

2 回答 2

1

我找到了另一种查找 mxf 文件持续时间的简单方法。

从 Web 下载 MediaInfo.dll 并将其放在“C:\Windows”文件夹中,并将 mediainfoDll.cs 包含在您的项目中。

通过使用以下代码,您将能够获得 .mxf 文件的持续时间

MediaInfo aMediaInfoL = new MediaInfo();
aMediaInfoL.Open("C:\Users\\Desktop\\drop\mxf\xdcam-pal-dv25.mxf");
aMediaInfoL.Option("Inform", "General;%Duration%");
string durationL = aMediaInfoL.Inform();
aMediaInfoL.Close();
string  durationminutesL
  = TimeSpan.FromMilliseconds(Convert.ToDouble(durationL)).TotalMinutes;
于 2012-10-09T06:25:10.770 回答
0

如果我们在二进制编辑器中打开 mxf 文件,我们可以看到 xml 标头中存在持续时间..如下所示

Duration value="89"

在代码中,您可以通过打开文件来阅读它

FileStream streamL =
 File.Open("C:\\temp\\test.mxf", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) 

然后循环读取字节,直到找到 Duration

int nBytesReadL = streamP.Read(HeaderBufferL, 0, BufferLengthL);
string zTextRepresentationL = 
   System.Text.ASCIIEncoding.Default.GetString(HeaderBufferL, 0, nBytesReadL);

从上面的字符串 xml 你可以得到持续时间

于 2012-09-18T05:14:14.287 回答