AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DirectX: Videostream in Einzelbilder in AVI
Thema durchsuchen
Ansicht
Themen-Optionen

DirectX: Videostream in Einzelbilder in AVI

Ein Thema von skyobserver · begonnen am 12. Mai 2006 · letzter Beitrag vom 19. Mai 2006
Antwort Antwort
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

DirectX: Videostream in Einzelbilder in AVI

  Alt 12. Mai 2006, 22:24
Hallo, zusammen...


Weiß jemand, wie man folgende Aufgabenstellung mit DirectX9 lösen kann:

1. Der Videostream einer Webcam soll in einzelne Bitmaps zerlegt werden
ohne erst auf einem Panel zu landen. Dabei darf kein Bild mehrfach
geladen oder eines ausgelassen werden.

2. Nach der Bearbeitung sollen die Bitmaps wieder in einen Videostream
zusammengesetzt werden damit ich beim Speichern in einer AVI-Datei
einen in Windows installierten Video-Codec verwenden kann.


Habe keine Ahnung wie man diese ganzen Filter zusammensetzten muß um so
was hinzubekommen. Wer hat sich bloß so einen Zeigerdschungel ausgedacht?

Bis jetzt habe ich es lediglich geschaft die Liste der Video-Capture-Devices
zu ermitteln und von einem den Preview-Stream auf einem Panel anzuzeigen.

Wenn ich nochmal so viele Stunden mit der Online-MSDN zu DirectX und der
Übersetzung der (leider nicht immer) vorhandenen C++ Beispiele verbringe
bin ich reif für die Klapsmühle...

VideoForWindows kommt wegen fehlender Features (leider) nicht in Frage.
Das wäre warscheinlich auch zu einfach gewesen...


Bin schon dankbar für Hinweise zu Teilproblem 1 oder 2
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: DirectX: Videostream in Einzelbilder in AVI

  Alt 19. Mai 2006, 11:53
OK...mittlerweile hab ich's hintereinander...(halbwegs...)
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#3

Re: DirectX: Videostream in Einzelbilder in AVI

  Alt 19. Mai 2006, 11:55
wäre nett wenn du uns sagen würdest wie ^^
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: DirectX: Videostream in Einzelbilder in AVI

  Alt 19. Mai 2006, 12:51
Nun gut...


was ich noch nicht hintereinander habe ist Einzelbilder wieder in einen Videostream zu 'pressen'...

was das andere betrifft: DirectShow heißt das Zauberwort!

Dort kann man über das GraphBuilder-Objekt verschiedene Filter zu einer Filterkette (Filter Graph) verbinden.
Für eine Webcam nimmt man als Eingangs-Filter ein Video-Capture-Filter (Liste der verfügbaren Geräte muß man erstmal ermitteln).
Als zweites nimmt man einen SampleGrabber-Filter (Der kann die Einzelbilder liefern).
Wenn man nun den Capture-Filter mit dem SampleGrabber-Filter verbindet so stellt DirectShow eine intelligente Verbindung her:
Ist der Ausgangs-Pin vom Capture-Filter nicht mit dem Eingangs-Pin vom SampleGrabber-Filter kompatibel (Webcam liefert AVI-Stream
mit Bild und Ton - SampleGrabber erwartet nur Videobilder) schaltet DirectShow selbstständig noch einen AVI-Splitter-Filter
dazwischen damit es passt.
Jetzt fehlt am Ende der Kette noch Video-Render-Filter. Möchte man neben den Einzelbildern keine Anzeige des Videostreams,
muß man anstatt dem Video-Render-Filter einen Null-Render-Filter verwenden. Ohne Ausgabe-Filter läuft die Filter-Kette nicht!
Dann die beiden Filter-Teile verbinden.

Ich bin im Moment selber noch dabei diese Theorie in Code umzusetzen. Am besten bekommt man einen Einblick, wenn man
mal mit dem Tool GraphEdit von Microsoft 'herumspielt'.

Das gibts nicht bei Microsoft! Soll angeblich im DirectX-SDK enthalten sein (...isses aber nich...)

Im Web hier gefunden:
Download-Link zu Microsoft GraphEdit

Dieses Tool ist nichts anderes als eine grafische Oberfläche für die Funktionen von DirectShow.


Das das Thema sehr umfangreich ist möchte ich hier zunächst erstmal auf die Doku zu DirectShow
in der Microsoft-MSDN verweisen (Win32 -> Multimedia -> Audio und Video -> DirectShow).

Wenn gewünscht, kann ich später (wirklich später...) etwas Code posten. Ich versuche gerade eine Komponente
daraus zu entwickeln die sich einfach in ein Programm einbauen läßt.
Die COM-Programmierung von DirectShow finde ich nämlich sehr nervig...
  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 15:28 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