Как прочитать метаданные файлы фильмов MKV в C#?
Вопрос
Как прочитать метаданные файлы фильмов MKV в C# (или C или C ++ или AS3)?
Например
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
Решение
Всегда пытается проанализировать Заголовок сам.
Также я видел ссылки на Библиотека EBML используется для декодирования файлов MKV. Удачи!
Другие советы
Я недавно разместил версию C# https://bitbucket.org/olegzee/nebmlАнкет Он содержит образец редактора заголовка, который демострит встроенный редактирование определенных свойств.
Вы можете попробовать спросить об этом на форумах Doom9 в их разделе разработки. Также MediaInfo.dll также может работать для вас.
Самый простой способ получить многое из этого - породить экземпляр mkvinfo
и проанализировать его вывод. Одна проблема с тем, что вы спрашиваете, заключается в том, что файл матроски может иметь неограниченное количество видео и аудио -потоков. Таким образом, вам придется перечислять потоки в файле до получения этих свойств.