2010-01-05 5 views
6

Как читать метаданные файлов фильмов MKV на C# (или C или C++ или AS3)?Как читать метаданные файлов фильмов MKV на C#?

, например, такой

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

+0

Что особенно сложно? На самом деле есть два модуля: один определяет Ebml reader/writer, а другой описывает структуру для MKV. – olegz

+0

Когда я посмотрел на него, я ожидал нечто похожее на API. Что-то вроде «Matroshka file = new Matroshka(); file.Load (...); file.Title = "Foobar";». Затем я более пристально посмотрел на примерное решение и надеялся, что я смогу найти все, что мог бы разместить внутри обертки, чтобы получить упомянутое поведение, но я не мог понять, как его использовать вообще ... – Jan

0

Самый простой способ получить много из этого - создать экземпляр mkvinfo и проанализировать его вывод. Одна проблема с тем, что вы спрашиваете, заключается в том, что файл Matroska может иметь неограниченное количество видео и аудиопотоков. Поэтому вам нужно будет перечислить потоки в файле до получения этих свойств.