Asp.net使用MediaInfo获取视频时长或其它属性

上传的视频想获取时长,研究了半天都是播放的办法,于是网上搜索了一下,发现很多方法不灵,貌似只能用ffmpeg,这个玩意之前用过,效率不是很高,要是winfrom还好一些,咱做的是网页,就只能找找有没有其它办法了,无意中搜索到好像有用MediaInfo.dll这个的

主要办法是在nuget里获取MediaInfoDotNet的扩展,然后把文件复制到Bin里面,直接使用就好了,无奈我的程序竟然不认这个玩意,倒腾了半天也用不了。

后来找到了MediaInfoNET这个dll,有需要的朋友可以来这里下载:

https://sourceforge.net/projects/mediainfonet/files/latest/download?source=files

引入命名空间:using MediaInfoNET;

然后用如下代码就OK了

MediaFile videoFile = new MediaFile(你的视频地址);

videoFile.General.DurationString 然后用这个属性就可以获得时长了

没错,我是获得了时长,在本地运行良好,结果一传服务器不行了,直接报错,错误是路径不对。

把本地的视频换了好几种格式都没有问题,在服务器上就是不生效!想了半天,怀疑这个DLL很有可能是X86的,于是把IIS里的应用程序池改成兼容32位的,结果一运行OK了。

希望我的经验对其它朋友有所帮助!

你可能感兴趣的:(Asp.net使用MediaInfo获取视频时长或其它属性)