2011-02-23 140 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