编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Excel催化剂开源-音视频文件元数据提取-分辨率,时长,采样率等

wxchong 2024-09-30 04:07:33 开源技术 74 ℃ 0 评论

上一篇提到图片元信息Exif的提取,当然还有一类音视频文件,也同样存储着许多宝贵的元数据,那就开源到底呗,虽然自己找寻过程也是蛮艰辛坎坷的,大家看后有收获,只求多多传播下,让前人的工作可以更有价值。

此篇对应的Excel催化剂功能实现:第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息 https://www.jianshu.com/p/ad98adc64f0b

音视频元数据的提取,用到了MediaToolkit类库,较其他复杂的方案来说,这个对我这种业余开发者最友好,最后很幸运地相遇了它。



MediaToolkit类库

直接上代码,同样只需三两行代码就可以拿到核心信息。

 private void AddMediaInfo(DataRow dr, string filePath)
 {
 try
 {
 using (var engine = new Engine())
 {
 var inputFile = new MediaToolkit.Model.MediaFile { Filename = filePath };
 engine.GetMetadata(inputFile);
 var videoData = inputFile.Metadata.VideoData;
 var audioData = inputFile.Metadata.AudioData;
 dr[ColNameOfVideoDuration] = Math.Round(inputFile.Metadata.Duration.TotalSeconds / 60.0, 2);

 if (videoData != null)
 {
 dr[ColNameOfVideoFormat] = videoData.Format;
 string sizeStr = videoData.FrameSize;
 dr[ColNameOfVideoWidth] = sizeStr.Split('x')[0];
 dr[ColNameOfVideoHeight] = sizeStr.Split('x')[1];
 }

 if (audioData != null)
 {
 dr[ColNameOfAudioFormat] = audioData.Format;
 dr[ColNameOfAudioBitRateKbs] = audioData.BitRateKbs;
 dr[ColNameOfAudioSampleRate] = audioData.SampleRate;
 }
 }
 }
 catch (Exception)
 {

 }

 }

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表