![]() |
Länge einer Video-Datei ermitteln
Hi!
Ich hab folgendes Problem: Mein Programm soll automatisch die Spieldauer/Länge einer Videodatei (z.B. *.avi oder *.mpeg) ermitteln, da ich diesen Wert im Verlauf des Programmablaufs dringend benötige und ich eine manuelle Eingabe dem User nicht zumuten will/kann.... dabei ist noch zu sagen, dass die Datei im nicht mit z.B. dem TMediaPlayer geöffnet wird, das auslesen muss also irgendwie anders klappen.... einer ne Idee? Würd mich über jede Antwort freuen egal wie konstruktiv die letztendlich wird vll bringt ihr mich ja auf was :thuimb: Gruss k0aru |
Re: Länge einer Video-Datei ermitteln
hmmm,
du sagst zwar, es wird nicht mit dem TMediaPlayer geöffnet, aber wenn du es trotzdem kurz darin lädst, dann die länge ausliest und wieder schliesst, würde es relativ einfach zu realisieren sein. ansonsten vielleicht mal bei torry.net gucken, ob es da was passendes gibt, das dir die länge eine video-datei ausliest. gruss, iaby |
Re: Länge einer Video-Datei ermitteln
|
Re: Länge einer Video-Datei ermitteln
Und wie wende ich das jetzt auf Delphi an?
|
Re: Länge einer Video-Datei ermitteln
Staht doch da, wenn du auf den link klickst :gruebel:
Oder meinst du die verwendung von Api-funktionen generell ? |
Re: Länge einer Video-Datei ermitteln
ja wie kann ich sowas generell einbinden
|
Re: Länge einer Video-Datei ermitteln
Hab grad nicht den entsprechenden Link zur Hand, aber such ma den Beitrag bei Torry über
![]() ![]() Gruß Stephan |
Re: Länge einer Video-Datei ermitteln
ok thx werd ich mich ma mit beschäftigen
|
Re: Länge einer Video-Datei ermitteln
@k0aru wenn du willst kann ich dir mal ein prog schicken was ich gemacht hab was unteranderem die länge eine Avi auslesen tut.
|
Re: Länge einer Video-Datei ermitteln
das wäre nett :)
|
Re: Länge einer Video-Datei ermitteln
Könntest du den Code hier posten für andere die dasselbe Problem haben?
edit: es ist nicht wirklich intelligent seine emailadresse in nem öffentlich zugänglichen forum zu posten, die bots der spamversender finden das garantiert denselben fehler habe ich auch einmal gemacht und dann massig spam bekommen --> emailadresse löschen müssen :mrgreen: |
Re: Länge einer Video-Datei ermitteln
jetzt besser :P
|
Re: Länge einer Video-Datei ermitteln
heya,
mich würde auch mal interessieren wie ich die informationen der Microsoftwebsite der AVIFileinformationen verwerten kann.
Delphi-Quellcode:
da wird dort aufgeführt. OK aber wie kann ich diese jetzt in meinem programm nutzen? welche unit muß ich dafür
typedef struct {
DWORD dwMaxBytesPerSec; DWORD dwFlags; DWORD dwCaps; DWORD dwStreams; DWORD dwSuggestedBufferSize; DWORD dwWidth; DWORD dwHeight; DWORD dwScale; DWORD dwRate; DWORD dwLength; DWORD dwEditCount; char szFileType[64]; } AVIFILEINFO; einbinden? shellapi? wie würde die verwendung gehen? die haben dort keine parameter oder so genannt. kann ja nicht einfach sagen AVIBildBreite := dwWidth(pfad) |
Re: Länge einer Video-Datei ermitteln
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist das prog.
|
Re: Länge einer Video-Datei ermitteln
Delphi-Quellcode:
Abgewandelt von
uses
VfW; { downloaden! } function GetAviLength(aviFN: string): Word; var pFile : PAVIFile; AviInfo: TAVIFILEINFOW; begin Result := 0; AVIFileInit; // AVI öffnen IF AVIFileOpen(pFile, PChar(avifn), 0, nil) <> 0 THEN BEGIN AVIFileExit; ShowMessage('Fehler'); Exit; end; // AVI-Informationen auslesen if AVIFileInfo(pFile, @AVIINFO, SizeOf(AVIINFO)) = AVIERR_OK then with aviinfo do begin // Länge ermitteln result := (dwRate div dwScale) * dwLength; end; // Aufräumen AVIFileRelease(pFile); AVIFileExit; end; ![]() Vollkommen ungetestet! Gruß Stephan |
Re: Länge einer Video-Datei ermitteln
Hallo,
ich will auch die Länge von Videos bestimmen. Für AVI scheine ich in diesem Thread die Lösung gefunden zu haben. Man bekommt die Informationen also aus dem Header. Bei MPEG ist es allerdings nicht so einfach. Das ist ein Streamingformat und man muss die Frames zählen. Im Gleitz|Doom9-Forum wurden dafür zwei Beispielprogramme genannt: MPEGWALK von LigH und Mpeg2Schnitt von Martin Dienert. Von beiden sind die Sourcen verfügbar. ![]() ![]() |
Re: Länge einer Video-Datei ermitteln
Ich habe ein Programm geschrieben, das Infos aus allen geläufigen Video-Formaten (10-15 Stück) rauszieht. Werde es mal bei Gelegenheit als OpenSource rausgeben. Im Moment hätte das keinen Sinn, weil der ganze Code in einer DLL drinsteckt, die auch noch ein IContextMenu drin hat usw., ist halt ziemlich komplex.
|
Re: Länge einer Video-Datei ermitteln
imho sind mpegs prinzipiell auch avis, halt bloß codiert (Stichpunkt Codec).
Speicher mal avis/mpegs unter der jeweils anderen Endung.. solange der entsprechende Codec installiert ist, sollte es imho immer funzen.. Gruß Stephan |
Re: Länge einer Video-Datei ermitteln
Zitat:
|
Re: Länge einer Video-Datei ermitteln
Zitat:
@scp Kannst Du zufällig auch die Länge für eine Datei aus dem VirtualDub(Mod)-Frameserver bestimmen? |
Re: Länge einer Video-Datei ermitteln
Hallo!
Bei mir dreht es sich um eine AVI-Datei, die einen DivX-codierten Film enthält. Jetzt zeigt mir die Funktion von der ersten Seite 17886, der Film dauert 2:09:48, die Framerate ist 25 fps. Aber was sind denn nun diese 17886? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz