vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2026
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 14.03.26 15:21

Zwar habe ich schon gesucht, aber leider noch nichts passendes gefunden.
Wie bitte kann ich den Codex von .mp4 auslesen?
Ich habe etliche .mp4, von denen einige auf meiner Dreambox nicht abspielbar sind. Da bin ich draufgekommen, dass es ein bestimmter Codex sein muss. Die meisten funktionieren eh, aber einige muss ich umwandeln.
Dann mir da bitte jemand helfen? Am besten irgendwo ein Beispiel (habe keines gefunden).
Danke im Voraus.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: B.Th.
Datum: 18.03.26 20:11

Frag mal eine KI
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 18.03.26 22:11

Habe ich ehrlich gesagt noch nie verwendet. Habe kein ChatGPT oder ähnliches, müsste mich erst mal damit beschäftigen.
Bin noch ein bisserl Oldschool, da doch schon ein wenig älter (bin 67).
Aber Danke für die Antwort.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: B.Th.
Datum: 18.03.26 22:34

Howdy,

werde 66, seit ich bemerkt habe, wie toll man zus. mit einer KI proggen kann, schreibe ich wieder mehr Code. Nicht als Programmierer sondern eher als Abteilungsleiter, der die Arbeit anweist.

https://chatgpt.com/
https://gemini.google.com/
https://grok.com/ (Grok ist von Elon Musk)

einfach Eintippen:
Visual Basic 6.0: Wie bitte kann ich den Codex von .mp4 auslesen?

MfG Bernd, BT-Soft.de
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 18.03.26 22:46

Super!
Das das so einfach ist, hätte ich mir nicht gedacht. Ich habe nämlich mal gegoogelt, ob die KI Code umwandeln kann. Also z.B. von VB6 in VB.Net, denn mit 67 eine neue Programmiersprache zu lernen ist schon ein wenig heftig. Aber ich programmiere für mich selber noch einiges (in VB6). Erstens weil es mir Spaß macht und zweitens möchte ich geistig fit bleiben.
Danke schön, damit hast Du mir vermutlich sehr geholfen (muss es erst ausprobieren).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 20.03.26 15:30

@Bernd:

Das ist der absolute Hammer. Ich arbeite im Moment mit ChatGPT, zwar nicht Umwandeln von Code, aber mit den Sachen, mit denen ich mich im Moment beschäftige (ffmpeg, Änderungsdatum einer Datei) und ChatGPT ist wirklich äußerst hilfreich.

Damit hast Du mir immens geholfen, vielen lieben Dank.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: B.Th.
Datum: 20.03.26 16:51

Howdy Werner,

gern geschehen – freut mich! Viel Spaß beim Programmieren
Ich habe noch einen Tipp: Man kann mit der einen KI zusätzlich eine Frage für die andere KI formulieren lassen, das ist aber im Allgemeinen nicht nötig.

MfG
Bernd, BT-Soft
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: -Franky-
Datum: 21.03.26 07:53

@Wild Werner: Bedenke dabei: Alles was ein LLM so von sich gibt, gerade wenn es um Code geht, selbst zu überprüfen bevor Du diesen in Dein Projekt übernimmst und ungeprüft ausführst. Es gab bereits genug Fälle, wo dann ungeprüfter Code einer KI ausgeführt mal eben Daten auf der Platte gelöscht hat. Das I in KI steht nicht unbedingt für Intelligenz. Es wird nur das Nachgeplappert womit das LLM gefüttert wurde oder findet das, was sowieso schon irgendwo im Internet zu finden ist. Natürlich kann Dir ein LLM bei der Suche nach Code oder Erklärungen helfen. Intelligent ist nur der, der weis mit den Sachen, die ein LLM ausspuckt oder halluziniert, umzugehen.

Ich bin mir sicher, das Deine ursprüngliche Frage wie man die Codecs von MP4 Dateien ermittelt, wahrscheinlich nur Ergebnisse zu ffmpeg und ffprobe ausspuckt und Dir versucht zu erklären warum dies oder jenes mit VB6 nur schwer bis garnicht umsetzbar sind und Du lieber zu .NET wechseln solltest.

Es kommt immer auf die Frage an, die Du einer LLM stellst. Je mehr Infos Du der LLM gibst, um so bessere Antworten erhältst Du. Und hier kommt das Problem. Wenn ich der LLM erstmal entsprechende Info geben muss, das man das auslesen der Codecs durch selbst parsen des MP4 Headers, mit dem Interface IPropertyStore, mit der MediaFoundation oder über die WinRT ermitteln kann, dann bist Du gedanklich schon mehr an einer Lösung dran, als die LLM.

Mit freundlichen Grüßen
-Franky-

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 21.03.26 08:13

Danke schön.
Aber ich habe in meinem Fall sehr gute Erfahrungen gemacht. Der Hinweis ist natürlich gut und beachtenswert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: B.Th.
Datum: 21.03.26 08:53

Dann schauen wir uns doch mal an, was die KI ausgespuckt hat:

Frage:
Visual Basic 6.0: Wie bitte kann ich den Codex von .mp4 auslesen?

KI:
Kurz gesagt: Direkt in VB6 den Codec einer .mp4 auszulesen ist nicht trivial – VB6 hat dafür keine eingebaute Funktion. Du musst auf externe APIs, COM-Objekte oder Tools zurückgreifen.
Hier sind die realistischen Wege, die funktionieren:

🔧 1. Windows Media Player Control (einfach, aber begrenzt)
Du kannst das WMP-ActiveX-Control in VB6 verwenden.
➡️ Vorteil: sehr einfach
➡️ Nachteil: liefert kaum Codec-Details
Beispiel:
WindowsMediaPlayer1.URL = "C:\video.mp4"
Debug.Print WindowsMediaPlayer1.currentMedia.duration
Debug.Print WindowsMediaPlayer1.currentMedia.getItemInfo("VideoCodec")
👉 Problem:
VideoCodec funktioniert oft nicht zuverlässig bei MP4 (abhängig von installierten Codecs).

🧠 2. Windows Shell / Property System (besser)
Du kannst über die Windows-Property-API Metadaten auslesen:
System.Video.Compression
System.Media.Duration
Das geht über IPropertyStore.
👉 Hinweis aus Praxis:
Diese Properties funktionieren auch für MP4
Beispiel: System.Media.Duration wird häufig genutzt
➡️ Problem:
In VB6 sehr aufwendig (COM + GUIDs + API Calls)

⚙️ 3. Media Foundation API (empfohlen, aber komplex)
Mit Media Foundation bekommst du echte Codec-Infos:
MFCreateSourceReaderFromURL
GetPresentationAttribute
Damit kannst du u.a. Duration und Streams auslesen
➡️ Vorteil:
echte technische Daten (Codec, Streams, etc.)
➡️ Nachteil:
in VB6 extrem kompliziert (VTable, Pointer, API)

🧩 4. Externes Tool (beste Lösung 👍)
Der pragmatischste Weg:
👉 Nutze ein Tool wie MediaInfo
CLI-Version starten aus VB6
Ausgabe parsen
Beispiel:
Shell "mediainfo.exe ""C:\video.mp4"" > output.txt", vbHide
Dann output.txt auswerten.
➡️ Vorteil:
liefert exakt:
Codec (z. B. H.264, H.265)
Bitrate
Auflösung
viel einfacher als APIs

💡 Fazit
Wenn du nur schnell den Codec brauchst:
👉 Beste Option: MediaInfo (extern)
👉 VB6-native Lösung: nur mit viel Aufwand (Media Foundation / Property API)

❓ Rückfrage
Was genau brauchst du?
nur Video-Codec (z. B. H264)?
oder komplette Infos (Bitrate, Audio, Auflösung)?
oder soll alles rein in VB6 ohne externe Tools laufen?
Dann kann ich dir eine passende, konkrete Lösung + Code bauen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 21.03.26 09:00

Mein Problem ist, dass ich (meist) von Facebook lustige, kurze Videos (Reels) runterlade und die will ich mir manchmal auf meiner Dreambox DM900UHD abspielen. Da ist aber das Problem, dass der Video-Player nicht alle Codecs abspielen kann. Meist fehlt der Ton, manchmal ist das Video ohne Ton.
Nun möchte ich in einem Rutsch alle Videos auslesen, damit ich weiß, ob der Codec passt. Zu 80% tut er das eh, aber manche Videos gehören umgewandelt.
Im Moment verschiebe ich die Videos, die ich mir ansehe und die nicht funktionieren, in zwei Ordner (Audio und Video), dann lade ich die runter, wandle sie um und spiele sie wieder rauf. Funktioniert ganz gut, aber ich will das alles auf einmal auslesen, damit ich dann alle Videos ohne Probleme auf der DM900 abspielen kann.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: -Franky-
Datum: 21.03.26 12:29

Glaubst du wirklich das die LLM das wirklich weis oder sich die Info aus dem Internet gezogen hat weil es bereits Beispiele dafür gibt. Wie sonst kommt das LLM zur Info das man für die MediaFoundation eine VTable auf die Interfaces benötigt. Die Aussage allein, das das sehr kompliziert ist und man VTable benötigt, ist bereits falsch bzw. nicht korrekt. Mit einer entsprechenden TLB, und die gibt es, ist das recht einfach. Nur wenn man, so wie ich zB. auf eine TLB verzichtet, erst dann benötigst Du die VTable der COM-Interfaces und die API DispCallFunc um die Member des COM-Interfaces anzusprechen.

Mit freundlichen Grüßen
-Franky-

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Rippler
Datum: 21.03.26 17:55

Das lässt sich mit VB6 Bordmittel einfach lösen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 21.03.26 18:02

?
Echt?
Hast Du eventuell ein Beispiel?
Ich habe es gegoogelt und leider nichts gefunden, weder deutsch noch englisch. Zumindest nicht einfach.
Und ich war und bin kein Profi-Programmierer, was für die einen einfach ist, das ist u.U. nicht einfach für mich. Aber für ein kleines Beispiel wäre ich sehr dankbar.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Rippler
Datum: 21.03.26 18:14

Private Sub Form_Load()
 
   Dim objShell  As Object
   Dim objFolder As Object
   Dim objFolderItem As Object
 
   Set objShell = CreateObject("Shell.Application")
   Set objFolder = objShell.NameSpace("E:\Daten\Daten\Filme")
   Set objFolderItem = objFolder.ParseName("Avanti, Avanti!.mp4")
 
   MsgBox "Länge - " & objFolder.GetDetailsOf(objFolderItem, 27) & vbCrLf _
         & "Datenrate - " & objFolder.GetDetailsOf(objFolderItem, 321) & vbCrLf _
         & "Breite - " & objFolder.GetDetailsOf(objFolderItem, 324) & vbCrLf _
         & "Höhe - " & objFolder.GetDetailsOf(objFolderItem, 322) & vbCrLf _
         & "EBR - " & objFolder.GetDetailsOf(objFolderItem, 323) & vbCrLf
 
   Set objFolderItem = Nothing
   Set objFolder = Nothing
   Set objShell = Nothing
 
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: Wild Werner
Datum: 21.03.26 18:20

Vielen lieben Dank, werde ich morgen mal versuchen.
Ich hätte mir nicht gedacht, dass es so einfach ist und schäme mich auch ein wenig, dass ich das nicht gefunden habe.
Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6: Codex von .mp4 auslesen 
Autor: -Franky-
Datum: 21.03.26 21:16

Hi. Hmm, GetDetailsOf. Und welche offiziell dokumentierte ID gibt die FourCC, die VideoCompression oder das AudioFormat einer MP4 zurück? Wo ist definiert welche ID was ist? Da fährst mit IProprtyStore besser wenn man die passenden PKEYs kennt -> PKEY_Video_FourCC, PKEY_Video_Compression und PKEY_Audio_Format. Die sind in der MS-Doku offiziell dokumentiert und über ihre ihre FMTID und PID definiert.

Mit freundlichen Grüßen
-Franky-

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2026 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel