<f{"id":218,"date":"2013-03-07T11:32:49","date_gmt":"2013-03-07T10:32:49","guid":{"rendered":"http:\/\/www.bernhard-krenz.de\/?p=218"},"modified":"2013-03-07T11:33:39","modified_gmt":"2013-03-07T10:33:39","slug":"langedauer-eines-videos-mit-mediainfo-ermitteln","status":"publish","type":"post","link":"https:\/\/www.bernhard-krenz.de\/?p=218","title":{"rendered":"L\u00e4nge\/Dauer eines Videos mit MediaInfo ermitteln"},"content":{"rendered":"<p>Wer versucht die L\u00e4nge eines Videos C# zu ermitteln, wird im Internet viele L\u00f6sungsvorschl\u00e4ge finden. Oftmals sind diese aber unvollst\u00e4ndig, funktionieren nicht oder einfach nur unverst\u00e4ndlich.<\/p>\n<p>Ich zeige folgend die Nutzung der MediaInfo-Bibliothek.<\/p>\n<p><strong>Vorbereitung:<\/strong><\/p>\n<ol>\n<li>Die aktuelle Version der <a href=\"http:\/\/sourceforge.net\/projects\/mediainfo\/\" target=\"_blank\">MediaInfo-Bibliothek<\/a> herunterladen<\/li>\n<li>Die MediaInfo.dll selbst, als auch den C# Wrapper in das eigene Projekt integrieren<\/li>\n<li>Die Video-Datei mit Hilfe des Wrappers \u00f6ffnen, die L\u00e4nge abfragen und wieder schlie\u00dfen<\/li>\n<\/ol>\n<p>\n<strong>Download der MediaInfo-Bibliothek<\/strong><\/p>\n<ol>\n<li>Auf der SourceForge-Seite den Reiter &#8222;Files&#8220; ausw\u00e4hlen<\/li>\n<li>In der Verzeichnisliste &#8222;binary&#8220; ausw\u00e4hlen<\/li>\n<li>&#8222;libmediainfo0&#8220; ausw\u00e4hlen<\/li>\n<li>Den obersten Eintrag\/die aktuellste Version ausw\u00e4hlen (z.B. &#8222;0.7.62&#8220;)<\/li>\n<li>Die passende Windows-Version &#8222;WithoutInstaller&#8220; downloaden. F\u00fcr ein 64bit System muss die x64 Version heruntergeladen werden, f\u00fcr ein 32bit die i386<br \/>(z.B. &#8222;MediaInfo_DLL_0.7.62_Windows_x64_WithoutInstaller.7z&#8220;<\/li>\n<\/ol>\n<p>\n<strong>Projektintegration<\/strong><\/p>\n<ol>\n<li>Die heruntegeladene 7z-Datei mit <a href=\"http:\/\/www.7-zip.de\/\" target=\"_blank\">7-Zip<\/a> entpacken<\/li>\n<li>Die MediaInfo.dll aus dem Hauptverzeichnis in das Visual-Studio-Projekt auf der Hauptebene integrieren<\/li>\n<li>Im Eigenschaftsfenster der MediaInfo.dll den &#8222;BuildVorgang&#8220; auf &#8222;Inhalt&#8220; und &#8222;In Ausgabeverzeichnis kopieren&#8220; auf &#8222;Kopieren, wenn neuer&#8220; stellen<br \/>(Die MediaInfo.dll muss sp\u00e4ter parallel zur exe der Anwendung liegen.)<\/li>\n<li>In der Zip unter &#8222;Developers&#8220;->&#8220;Source&#8220;->&#8220;MediaInfoDll&#8220; die &#8222;MediaInfoDLL.cs&#8220; (C# Wrapper) an eine beliebige Stelle in das Visual-Studio-Projekt integrieren<\/li>\n<\/ol>\n<p>\n<strong>L\u00e4nge der Video-Datei abfragen<\/strong><\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvar mediaInfo = new MediaInfo();\r\nmediaInfo.Open(fullPath);\r\nvar durationInMilliSecondsString = mediaInfo.Get(StreamKind.Video, 0, &quot;Duration&quot;);\r\nmediaInfo.Close();\r\n\r\nif (durationInMilliSecondsString != null)\r\n{\r\n\tvar durationInMilliseconds = long.Parse(durationInMilliSecondsString);\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Wer versucht die L\u00e4nge eines Videos C# zu ermitteln, wird im Internet viele L\u00f6sungsvorschl\u00e4ge finden. Oftmals sind diese aber unvollst\u00e4ndig,<a href=\"https:\/\/www.bernhard-krenz.de\/?p=218\" class=\"searchmore\">Weiterlesen&hellip;<\/a><\/p>\n<div class=\"clr\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[7],"_links":{"self":[{"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/posts\/218"}],"collection":[{"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=218"}],"version-history":[{"count":10,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/posts\/218\/revisions"}],"predecessor-version":[{"id":228,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=\/wp\/v2\/posts\/218\/revisions\/228"}],"wp:attachment":[{"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernhard-krenz.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}