2010-01-05 68 views
6

如何在C#(或C或C++或AS3)中讀取MKV電影文件的元數據?如何在C#中讀取MKV電影文件的元數據?

例如這樣

creator 
metadatacreator 
hasKeyframes 
hasVideo 
hasAudio 
hasMetaData 
canSeekToEnd 
duration 
datasize 
videosize 
videocodecid 
audiosize 
audiocodecid 
audiosamplerate 
audiosamplesize 
stereo 
filesize 
lasttimestamp 
lastkeyframetimestamp 
lastkeyframelocation 
keyframes (filepositions, times) 
width 
height 
framerate 
videodatarate 
audiodatarate 

回答

1

你可以試着在開發部分的doom9論壇上提問。此外mediainfo.dll可能也適合你。

3

我最近發佈的C#版本爲https://bitbucket.org/OlegZee/nebml。 它包含標題編輯器樣本,其中介紹了某些屬性的內聯編輯。

+0

我知道這是很久以前。我看了一下你的項目,看起來很複雜。有沒有可用的文件? – Jan 2013-05-29 07:36:16

+0

什麼是特別複雜?實際上有兩個模塊:一個定義了Ebml讀寫器,另一個定義了MKV的結構。 – olegz 2013-05-30 03:05:46

+0

當我看到它時,我期待着類似於API的東西。像'Matroshka文件=新Matroshka(); file.Load(...); file.Title = 「foobar的」;」。然後我更仔細地觀察了示例解決方案,並希望能找到任何可以放在包裝器中以獲取所提到的行爲的內容,但我無法弄清楚如何使用它... – Jan 2013-05-30 16:18:04

0

最簡單的方法是產生一個mkvinfo的實例並解析其輸出。您所要求的一個問題是Matroska文件可以具有無限數量的視頻和音頻流。所以你必須在獲得這些屬性之前枚舉文件中的流。