2010-01-05 13 views
6

Comment lire les métadonnées d'un fichier vidéo MKV en C# (ou C ou C++ ou AS3)?Comment lire les métadonnées d'un fichier vidéo MKV en C#?

comme par exemple

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 

Répondre

1

Vous devriez peut-être essayer de demander ceci plus de at doom9 forums dans leur section de développement. Mediainfo.dll pourrait également travailler pour vous.

3

J'ai récemment posté la version C# à https://bitbucket.org/OlegZee/nebml. Il contient un exemple d'éditeur de titres qui illustre l'édition en ligne de certaines propriétés.

+0

Je sais que c'était il y a longtemps. J'ai jeté un coup d'oeil à votre projet et ça a l'air assez ... complexe. Y a-t-il de la documentation disponible? – Jan

+0

Qu'est-ce qui est particulièrement complexe? En fait il y a deux modules: l'un définit le lecteur/écrivain Ebml et l'autre décrit la structure pour MKV. – olegz

+0

Quand je l'ai regardé, je m'attendais à quelque chose de similaire à une API. Quelque chose comme 'Fichier Matroshka = nouveau Matroshka(); file.Load (...); file.Title = "foobar"; ' Puis j'ai regardé la solution d'exemple de plus près et j'espérais que je pourrais trouver tout ce que je pourrais placer dans un emballage pour obtenir le comportement mentionné, mais je ne pouvais pas comprendre comment l'utiliser du tout ... – Jan

0

La manière la plus simple d'obtenir beaucoup de ceci est de générer une instance de mkvinfo et d'analyser sa sortie. Un problème avec ce que vous demandez est qu'un fichier Matroska peut avoir un nombre illimité de flux vidéo et audio. Donc, vous auriez à énumérer les flux dans le fichier avant d'obtenir ces propriétés.