我试图找到视频文件的持续时间。我能够使用下面提到的 shellconcept 获得 , 等.mov
的长度。.mp4
我没有得到mxf
文件的持续时间,是否可以在 C# 中计算它?
我试图找到视频文件的持续时间。我能够使用下面提到的 shellconcept 获得 , 等.mov
的长度。.mp4
我没有得到mxf
文件的持续时间,是否可以在 C# 中计算它?
我找到了另一种查找 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;
如果我们在二进制编辑器中打开 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 你可以得到持续时间