2010-01-05 11 views
6

Come leggere i metadati di un filmato MKV in C# (o C o C++ o AS3)?Come leggere i metadati di un filmato MKV in C#?

ad esempio quali

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 

risposta

1

Si potrebbe provare a chiedere questo ai forum doom9 nella loro sezione di sviluppo. Anche mediainfo.dll potrebbe funzionare anche per te.

3

Recentemente ho pubblicato la versione C# https://bitbucket.org/OlegZee/nebml. Contiene esempi di editor di titoli che dimostrano la modifica in linea di alcune proprietà.

+0

So che è stato tanto tempo fa. Ho dato un'occhiata al tuo progetto e sembra abbastanza ... complesso. C'è qualche documentazione disponibile? – Jan

+0

Cosa c'è di particolarmente complesso? In effetti ci sono due moduli: uno definisce il lettore/scrittore Ebml e un altro descrive la struttura per MKV. – olegz

+0

Quando l'ho guardato, mi aspettavo qualcosa di simile a un'API. Qualcosa come 'Matroshka file = new Matroshka(); file.Load (...); file.Title = "foobar";'. Poi ho esaminato la soluzione di esempio più da vicino e speravo di trovare tutto ciò che potevo inserire in un wrapper per ottenere il comportamento menzionato, ma non riuscivo a capire come usarlo ... – Jan

0

Il modo più semplice per ottenere questo è generare un'istanza di mkvinfo e analizzare il suo output. Un problema con quello che stai chiedendo è che un file Matroska può avere un numero illimitato di stream video e audio. Quindi dovresti enumerare i flussi nel file prima di ottenere queste proprietà.

Problemi correlati