2011-02-23 142 views
4

我有一个表单将接受并保存一个MP4视频文件。我需要能够获得视频的尺寸。这将在运行ASP.NET 2.0的服务器上运行,因此任何外部库必须能够放置在Bin文件夹中,因为它们不能安装在服务器上。如何获取mp4视频文件的尺寸?

任何想法如何获取信息?如果同一个库允许我将视频转码为flv,这将是一个巨大的奖励。

更新:服务器是XP Service Pack 2的使用.NET框架(2,0,50727,0)

回答

2

有几个方法可以做到这一点,但每本身没有图书馆,将工作与C#的任何/所有.mp4视频文件。这绝对不是100%可靠的。

两者都是命令行选项(从某种意义上说)。基本上,你要做的是使用System.Diagnostics.Process从ASP.NET应用程序运行一个进程。

对他们是使用ffmpeg。使用ffmpeg,如果你只是给它一个文件(作为一个命令行参数,如果将返回关于该文件的各种元数据,这个信息可以被解析以提取尺寸)

另一种是使用MediaInfo。这个,但是你必须使用命令行版本(CLI版本),并且将它命名为命令行参数,它有一个生成和xml响应的动作,所以你可以很容易地解析这个和其他的信息如果不能提供的。

ffmpeg的可转码的视频也是如此。虽然我没有看到转码点从MP4,FLV?

+0

我把它微软没有阅读一组标准的API媒体文件呢? – Justin808 2011-02-24 18:37:20

+0

我不认为这是微软的职责,有如API。他们确实有能力做到这一点,因为你可以看到它在Windows资源管理器中使用。处理了数十万(如果不是数百万)视频文件,我可以告诉你一些简单的事情,因为这显然不是那么容易,因为没有一种工具可以完美地实现这一点。 – 2011-02-24 20:00:58

+1

这令人失望。我无法在服务器上安装任何东西,只是网站,所以我不能安装ffmpeg或MediaInfo来使用它们。希望有一个很好的干净的API使用。 – Justin808 2011-02-25 04:21:05