binary - How to parse out information of WMV file in C# -


i want information of asf file bitrate, metadata, language...i have read asf specification , know asf file has parts : header object, data object, index object. @ frist, think asf file's binary file , try solve class , function in c# : filestream, binaryreader :

string path = @"e:\khoaluantn\streaming video server\video\encoder_ad.wmv";         filestream filer = file.openread(path);         binaryreader br = new binaryreader(filer);                  byte [] file = br.readbytes(100); 

then, try convert string :

 textbox1.text = encoding.ascii.getstring ( file ); 

but doesn't display expect. displays nonsensical string: 0&?u?f? ??. please show me how convert information in asf file string.

you can check out asfmojo on codeplex. offers simple api extract of information interested in:

sample code

using (asffile asffile = new asffile(samplefilename)) {     //get bitrate     uint asfbitrate = asffile.packetconfiguration.asfbitrate;     console.writeline("bitrate: " + asfbitrate);      //get language     var languageobject = (asflanguagelistobject)asffile.getasfobjectbytype(asfguid.asf_language_list_object).firstordefault();     if (languageobject != null)     {         foreach (string language in languageobject.languages)             console.writeline("language: " + language);     }      //get metadata     var metadataobject = (asfmetadataobject)asffile.getasfobjectbytype(asfguid.asf_metadata_object).firstordefault();     if (metadataobject != null)     {         foreach (var item in metadataobject.descriptionrecords)             console.writeline(string.format("{0}: {1} (stream #{2})", item.name, item.value, item.streamnumber));     } } 


sample output

this creates following output sample file:

bitrate: 455932 language: en-us isvbr: false (stream #1) deviceconformancetemplate: l2 (stream #1) isvbr: false (stream #2) deviceconformancetemplate: mp@ml (stream #2) 

Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -