AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Video in Delphi abspielen und Bilder auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Video in Delphi abspielen und Bilder auslesen

Ein Thema von Nathan E · begonnen am 23. Mär 2008 · letzter Beitrag vom 27. Mär 2008
Antwort Antwort
Nathan E

Registriert seit: 23. Mär 2008
5 Beiträge
 
#1

Video in Delphi abspielen und Bilder auslesen

  Alt 23. Mär 2008, 12:51
Hallo Leute - ich sitze schon seit geraumer Zeit an einem Delphi - Programm mit dem man mithilfe eines kurzen video´s ein Objekt (wie bspw. einen geworfenen Ball) verfolgen kann. Das Programm vergleicht die Einzelbilder per Differenzbildung, entfernt einzelne Pixel und lässt Gruppen von Pixeln wieder anwachsen. Aus den übrig gebliebenen Pixeln berechne ich dann den Schwerpunkt - also die Position des Objektes.

Mein Problem besteht jetzt darin von Einzelbildern auf ein Videoformat umzusteigen (z.B. avi).
Ich versuche es im moment mit der Mediaplayerkomponente. Das sieht gerade in etwa so aus:
Delphi-Quellcode:
 mediaplayer1.FileName:='Pfad des Videos';
 mediaplayer1.Open;
 MediaPlayer1.DisplayRect:=Panel1.ClientRect;
 MediaPlayer1.Play;
Im Objektinspektor habe ich Panel1 als Display zugewiesen. Der Ton des Videos wird zwar abgespielt, das Bild fehlt aber.
Ich benutze Delphi7 - eine Fehlermeldung bekomme ich auch nicht.
Hat jemand einen Tipp für mich? Ich komm einfach nicht weiter.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 23. Mär 2008, 17:21
Hallo und *räusper* herzlich willkommen in der DP

Zu deiner Frage:
  • Welche Eigenschaften des Mediaplayers ausser "Display" hast du geändert? Welchen Wert hat die Eigenschaft DeviceType?
  • Wie sind die Videodaten codiert und wie der Ton? AVI ist ja nur ein Containerformat.
  • Sind die entsprechenden Decoder auf deinem System installiert?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Nathan E

Registriert seit: 23. Mär 2008
5 Beiträge
 
#3

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 23. Mär 2008, 17:49
Außer Display habe ich keine Änderungen vorgenommen bis auf den Recordknopf. Den habe ich deaktiviert und auf unsichtbar geschaltet.
Devicetype steht auf automatisch. Als ich mal AVIVideo probiert habe kam auch der Ton nichtmehr aber auch keine Fehlermeldung.

Laut Eigenschaften der Datei ist das Audioformat MPEG Layer-3 die Videokomprimierung DivX.

Ich muss auch nicht zwingend eine avi verwenden. Wenn es erfahrungsgemäß Formate gibt die sich einfacher händeln und auswerten lassen nehm ich auch gern die. Für Vorschläge bin ich offen.

Die Decoder müsste ich eigentlich haben - zumindest ließ sich bisher alles reibunglos in Media und VLC Player abspielen.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 24. Mär 2008, 13:45
Bei DivX6-Videos habe ich genau das gleiche Problem: kein Bild, obwohl der Codec installiert ist. Alles Andere wird korrekt abgespielt (z.B. Xvid oder DivX4). Ist der Grund für den Umstieg auf ein Videoformat die Dateigröße?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Nathan E

Registriert seit: 23. Mär 2008
5 Beiträge
 
#5

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 24. Mär 2008, 13:49
Im Grunde genommen ist mir die Dateigröße egal. Ich habe zunächst nur avi versucht weil ich in einigen Themen gelesen hab dass es ganz gut funktionieren soll und ich auch gerade eins zur Hand hatte. Priorität hat nur die Verwertbarkeit der Bilder.
  Mit Zitat antworten Zitat
Nathan E

Registriert seit: 23. Mär 2008
5 Beiträge
 
#6

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 25. Mär 2008, 20:23
Ok ich hab jetzt ein wmv verwendet und es funktioniert.
jetzt muss ich nurnoch meinen quelltext den ich vorher mit dem Pixels befehl durchgeführt habe auf scanlines umschreiben.
Delphi-Quellcode:
for x:=1 to {2560} image1.Width do
 for y:=1 to {454} image1.Height do
 begin
f1:=image1.Canvas.Pixels[x,y];
  f2:=image2.Canvas.Pixels[x,y];
  diff:= (g_f(f2) - g_f(f1));
  //farbwerte der bilder voneinander subtrahieren -> differenzen sind neue farbwerte -> schwarzer ball - weiße oberfläche
  if diff >0
  then image4.Canvas.Pixels[x,y]:=rgb(0,diff,0) else image2.canvas.Pixels[x,y]:=clwhite ;
  Mit Zitat antworten Zitat
Nathan E

Registriert seit: 23. Mär 2008
5 Beiträge
 
#7

Re: Video in Delphi abspielen und Bilder auslesen

  Alt 27. Mär 2008, 19:21
Ok es ist ein neues Problem aufgetreten - wie komme ich an das Bild, dass im Panel angezeigt wird?
Ich möchte einfach versuchen jedes Bild oder zumindest 2-4 Bilder pro sekunde aus dem Panel auszuwerten um an die Koordinaten des Schwerpunktes zu errechnen.

Um mein Ergebnis zu verbessern suche ich auch gerade nach einer Möglichkeit die Pixel zu fluten - also vielen zusammenhängenden Pixeln der gleichen Farbe wie in Paint eine neue Farbe zuzuweisen. Ich erhoffe mir damit einfach eine weitestgehende Auslöschung des Bildrauschens, habe aber noch keine Idee wie ich es realisieren könnte.

Wäre für Hinweise und Ratschläge dankbar.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 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