Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Frameanzahl in einer Video-Datei ermitteln (https://www.delphipraxis.net/61317-frameanzahl-einer-video-datei-ermitteln.html)

qubeus 19. Jan 2006 20:24


Frameanzahl in einer Video-Datei ermitteln
 
Hi ihr Delphi-Freaks ^^ :thumb:

Jo, also ich bin ein begeisterter VirtualDub benutzer und möchte mir meine Arbeit mit eigenen Zusatz-Programmen etwas leichter machen.
Dazu muss mein Programm einige wichtige Informationen alleine ermitteln können. Ich habe nun fast den ganzen Tag damit verbracht eine Möglichkeit zu finden :coder: vorzugsweise bei einer Avi-Datei die Anzahl aller Frames aus denen das Video besteht zu ermitteln.

Das einzige halbwegs brauchbare, das ich gefunden habe war eine Möglichkeit zur Ermittlung der Filmdauer, mit der ich über die Framerate die Frameanzahl errechnen könnte. :coder2:
Das war hier im Forum unter dem Thema
"Länge einer Video-Datei ermitteln "
Allerdings hat die dort vorgestellte Möglichkeit bei mir nicht funktioniert und hinzu kam ja auch, dass wenn sie funktioniert hätte, ich wiederum vor dem Problem gestanden hätte, wie ich die Framerate ermitteln kann. Deshalb habe ich dann aufgegeben, da es selbst wenn ich erfolgreich gewesen wäre nur einen Näherungswert hervorgebracht hätte. :gruebel:

Deshalb bitte ich wirklich sehr darum, dass man mir verrät, wie man nun einfach nur die Frameanzahl einer AVI-Datei als integer-Wert ermitteln kann, wenn man nur den Pfad hat unter dem die AVI-Datei gespeichert ist. :zwinker:

Christian Seehase 19. Jan 2006 20:43

Re: Frameanzahl in einer Video-Datei ermitteln
 
Moin qubeus,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Was Dein Problem angeht:

Hast Du es schon einmal mit einem TMediaPlayer versucht?
Wenn die Eigenschaft TimeFormat auf tfFrames eingestellt ist, sollte Dir Lenght die Länge in Frames angeben.

qubeus 19. Jan 2006 21:42

Re: Frameanzahl in einer Video-Datei ermitteln
 
Also ich finde, dass das eine sehr schlechte Art ist den Wert zu ermitteln, aber ich muss mich bei dir bedanken, da ich nach längerem Herumprobieren tätsächlich genau den exakten Wert damit ermitteln kann, den ich brauche. :thumb: :hi:
Vorerst werde ich auch damit arbeiten können, falls jedoch noch jemand eine direktere Lösung weiß, soll er sich nicht zurückhalten. :wink:

Christian Seehase 19. Jan 2006 21:56

Re: Frameanzahl in einer Video-Datei ermitteln
 
Moin qubeus,

es hindert Dich niemand daran das auch direkt über die vom TMediaPlayer gekapselten APIs (Stich"wort" MCI) zu implementieren ;-)
Falls Du mindestens über eine Pro Version verfügst, kannst Du Dir als Beispiel mal anschauen, wie Borland das gemacht hat.

Zitat:

Zitat von qubeus
Also ich finde, dass das eine sehr schlechte Art ist den Wert zu ermitteln

also ich würde es eher "Mit Kanonen auf Spatzen geschossen" nennen :mrgreen:

MrKnogge 28. Dez 2006 20:35

Re: Frameanzahl in einer Video-Datei ermitteln
 
Hat jemand eine Idee warum ich mit
Delphi-Quellcode:
Mediaplayer1.Frames
ein Falsches Ergebniss erhalte ?
Es fehlt immer die letzte Stelle, also statt 22000 bekomme 2200.

@Christian
Kannst du mir den Namen der Demo verraten, ich habe keine zu diesem Thema gefunden.

Gruß

Christian Seehase 28. Dez 2006 20:44

Re: Frameanzahl in einer Video-Datei ermitteln
 
Moin Christian,

von welcher Demo redest Du?

Warum Dir die Eigenschaft Frames nicht den richtigen Wert zurückliefert dürfte ein beherzter Griff zur Taste F1 beantworten ;-)

MrKnogge 28. Dez 2006 20:57

Re: Frameanzahl in einer Video-Datei ermitteln
 
Ah, ok.
Ich habe das von dir oben erwähntes Beispiel gesprochen, habe aber fälschlicherweise angenommen es handle sich um eine Demo nicht um ein Beispiel in der Hilfe.

Gruß

Christian Seehase 28. Dez 2006 21:00

Re: Frameanzahl in einer Video-Datei ermitteln
 
Moin Christian,

mit dem oben meinte ich, dass man sich mal in den VCL-Sourcen als Beispiel anschauen kann wie Borland die Anzahl der Frames ermittelt.
Da Du ja offensichtlich eine Personal hast, ist Dir dieser Weg leider verbaut.

Die Frameanzahl wird Dir ja über Length zurückgegeben (TimeFormat vorher auf tfFrames setzen), die Eigenschaft Frames hat damit nichts zu tun (was Du Anhand der Hilfe feststellen kannst ;-))

MrKnogge 28. Dez 2006 21:20

Re: Frameanzahl in einer Video-Datei ermitteln
 
Ja, ich habe es mir gerade durchgelesen, du musst verstehen das 'Frames' klang so verführerisch :mrgreen:
Ich schau mir die sourcen mal an (habe noch eine D7Pro(SSL))

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz