AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Videokamera über Firewire auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Videokamera über Firewire auslesen

Ein Thema von MasterDG · begonnen am 12. Jul 2005 · letzter Beitrag vom 24. Jul 2005
Antwort Antwort
Seite 2 von 3     12 3      
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Videokamera über Firewire auslesen

  Alt 16. Jul 2005, 15:51
Hallo!

Ich hab jetzt doch noch ein Problem. Ich habe DSPack zum laufen bekommen. Ich kann auf alle Quellen zugreifen und die werden korrekt angezeigt. Aber ich bekomm es einfach nicht hin das Bild in ein Image32 zu kopieren.

Weiß jemand wie es geht?

Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#12

Re: Videokamera über Firewire auslesen

  Alt 16. Jul 2005, 16:12
Hmm, bei meinem Beispiel ist ja auch die Screenshot-Funktion dabei, wenn ich nicht wtäusche. Versuche doch mal nen High-Priority-Thread anzulegen, der die Screenshots auf das Image32 kopiert. Wird aber wohl nicht das schnellste sein ;-(
  Mit Zitat antworten Zitat
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Videokamera über Firewire auslesen

  Alt 16. Jul 2005, 16:34
Hallo!

Dein Beispiel habe ich gesehn. Aber bei mir kommt immer eine Fehlermeldung wegen Zugriffsverletzung. Hab keine Ahnung wieso.

Ich hab gesehn dass du ein "normales" Image benutzt hast, ich will halt ein Image32 nehmen. Kann das Probleme machen?

EDIT: Sorry der Code aus deinem Programm funktioniert doch. Ich habe nur einen Fehler gemacht den ich jetzt gefunden hab.

EDIT2: Das kopieren klappt. Jedoch ist die Prozessorauslastung nur von dem Kopieren schon auf 60%, ohne dass ich irgendwelche Berechnungen mache! Wie kann ich das reduzieren? Kann ich z. B. die Bildgröße reduzieren? Mehr als 320x240 brauche ich ja nicht.



Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#14

Re: Videokamera über Firewire auslesen

  Alt 16. Jul 2005, 22:40
Hallo!

Also ich hab mal en bischen rumgesucht und immer wieder wurde OnBuffer erwähnt. Damit soll man irgendwie das auch direkt kopieren können. Ich hab leider keine Ahnung wie ich das anstellen könnte.

Ich hoffe jemand kann mir da helfen, weil die 60% Auslastung einfach zu viel sind.

Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von christian.noeding
christian.noeding

Registriert seit: 26. Mai 2005
Ort: Knw.-Remsfeld
119 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Videokamera über Firewire auslesen

  Alt 16. Jul 2005, 23:14
Hi MasterDG,

kannst du mal posten, wie du das Bild capturen kannst? Wenn ich mit dem angehängten Beispiel hier versuche von dem Live-Video der DV-Kamera ein Foto zu schießen, bekomme ich nur ein schwarzes Bild. Irgendwie liest die Routine das Livebild bei mir falsch aus!? Dieses Problem hatte ich bei meinem Ersten DV-Versuch ja auch und habe deshalb nicht weiterprogrammiert, da ich keine Lösung gefunden habe - bitte gib mir ein Stück helfenden Quelltext

besten Dank,
Christian
Christian Nöding
  Mit Zitat antworten Zitat
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Videokamera über Firewire auslesen

  Alt 17. Jul 2005, 10:16
Hallo!

Also ich nehme mal an dass bei dir ein Bild im VideoWindow angezeigt wird.

Hier der Code für das Capturen eines Bildes:
Delphi-Quellcode:
procedure TForm1.CapturePic;
var bild : TBitmap;
begin
bild := TBitmap.Create;
samplegrabber1.GetBitmap(bild);
image321.Bitmap := bild;
end;
Achte darauf dass bei dem Samplegrabber als Filtergraph der Filtergraph auf deinem Formular gewählt wurde. Im Filtergraph muss bei Mode gmCapture gewählt werden.

Also ich hoffe ich habe alles erwähnt was man einstellen muss. Falls ich was vergessen habe könnt ihr mich gerne korrigieren.

Ich hoffe das jemand auch zu meinem "Problem" helfen kann. Das einzige was ich brauch ist, dass ich alles 10 ms sec ein Bild von 320x240 in ein Image32 kopieren kann. Dabei sollte das System so wenig wie möglich ausgelastet werden, weil ich die Leistung für die Berechnung des Bluescreen-Bildes brauche.

Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Videokamera über Firewire auslesen

  Alt 17. Jul 2005, 23:45
Hallo nochmal!

Ich stehe vor einem größeren Problem. Ich habe heute etwas rumprobiert und gemerkt dass die Capturefunktion nicht so viel ausmacht wie ich gedacht habe! Das Problem scheint schon beim Anzeigen des Bildes zu bestehen: 30% Auslastung der CPU! Nur das Anzeigen des Bildes der Kamera verbraucht schon 30% der CPU-Leistung? Wieso ist das so viel? Kann man irgendwie das auf 5 - 10% reduzieren?
Ich hab heute schon mal was gelesen wo über Videorenderer gesprochen wurde. Hab leider keine Ahnung was der genau macht. Ist das vielleicht der Grund für die hohe CPU Auslastung?

Eine andere Komponente käme auch in Frage. Wer kennt eine schnelle Komponente? Die muss nicht so viel drumherum haben. Ich brauch ja wiegesagt "nur" ein Bild von 320x240 in einem Image32 und nichts weiter. Den Rest erledigt ja Graphics32.

Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
JürgenN

Registriert seit: 21. Jul 2005
3 Beiträge
 
#18

Re: Videokamera über Firewire auslesen

  Alt 22. Jul 2005, 13:36
Hallo zusammen!

Ich habe da ein Problem: der Compiler (Delphi 5) zeigt an der Stelle

with FilterGraph as ICaptureGraphBuilder2 do

den Fehler

[Fehler] main.pas(77): Operator ist auf diesen Operandentyp nicht anwendbar

Das gleiche kommt bei den Stellen ... as IBaseFilter in der Renderstream-Prozedur.
Weiß jemand Rat? Bei Euch scheint es da ja keine Probleme zu geben.

Gruß,
Jürgen
  Mit Zitat antworten Zitat
MasterDG

Registriert seit: 29. Sep 2004
54 Beiträge
 
Delphi 2005 Personal
 
#19

Re: Videokamera über Firewire auslesen

  Alt 22. Jul 2005, 16:11
Hallo Jürgen!

Schau doch mal nach ob dein Filtergraph auch wirklich Filtergraph benannt wurden. Evt. heißt ja dein Filtergraph "Filtergraph1", wie das Delphi automatisch benennen würde.

Ansonsten weiß ich momentan nicht woran es liegen könnte.

Gruß
MasterDG
Dominik
  Mit Zitat antworten Zitat
JürgenN

Registriert seit: 21. Jul 2005
3 Beiträge
 
#20

Re: Videokamera über Firewire auslesen

  Alt 22. Jul 2005, 21:17
Hallo MasterDG,

danke für die schnelle Antwort!

Nee, daran liegt es nicht. Ich habe das Projekt Kappenanalyse von Thanatos81 heruntergeladen und einfach versucht zu compilieren. Da trat der Fehler auf. Irgendwie scheinen sich bei meinem Delphi die DS-Objekte nicht mit den Directshow9-Objekten zu vertragen, also bezüglich des "as". Vielleicht habe ich bei der Packages-Installation etwas falsch gemacht.

Seltsamerweise kann ich mit dem fertigen Programm, das beim Download KappenAnalyse mit dabei war, ohne Probleme die Daten meines Camcorders anzeigen lassen.

Gruß,
Jürgen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 13:38 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