Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 15:34

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: problem mit delphi, evt overlay
BeitragVerfasst: So Mär 05, 2006 13:50 
Offline
DGL Member

Registriert: Sa Mär 04, 2006 19:39
Beiträge: 8
hallo zusammen,
habe mir ein tool geschrieben (delphi 7),welches bewegung erkennt und dann ab bewegung aufzeichnet.wenn ich z.b. eine webcam dranhänge wird das bild in display1 angezeigt.gleichzeitig wird über eine matrix (motion detect empfindlichkeit einstellbar) bewegung erkannt,ab da aufgezeichnet mit 10 sekunden nachlauf und der dateiname mit datum und uhrzeit versehen.bei erneuter bewegung wird eine neue datei angelegt.letzte erkannte bewegung wird in display2 angezeigt.
als eingang funzen webcams,tv karten,internetstreams oder auch vorhandene dateien,die man auf bewegung durchsuchen kann.

was mir jetzt noch fehlt ist folgendes:
ich starte ein beliebiges chatprogramm mit cam-unterstützung,z.b. netmeeting.nun möchte ich aus meinem tool heraus eine maske aufziehen,so eine art rahmen,den ich um das netmeeting video-fenster positioniere.bei bewegung wird wie üblich aufgezeichnet.
habe leider keinen blassen,wie ich das bewerkstelligen soll.

hat jemand sowas in der art schon mal geschrieben?
wie könnte man da am besten vorgehen?
muss ich den video buffer auslesen dafür?

im prinzip so wie hypersnap dx,nur halt nicht den gesamten bildschirminhalt,sondern nur maskengrösse......

g/e


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 05, 2006 13:57 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Öffne ein eigenes kleines Fenster, dass der Benutzer über dem Videopanel platzieren und die Größe anpassen kann. Dann drückt er auf <OK> und dein Prog übernimmt die Ausmaße und Position des Fensters. Hat bei mir (bei was ähnlichem) wunderbar funktioniert.

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 05, 2006 14:07 
Offline
DGL Member

Registriert: Sa Mär 04, 2006 19:39
Beiträge: 8
@al

hört sich gut an.genau sowas brauch ich.frage ist nur wie das geht.
weil ich unabhängig von den jeweiligen chatprogrammen bleiben will fangen die probleme erst an oder nicht?
die arbeiten doch alle unterschiedlich oder nicht?
wenn die overlay verwenden dürfte da doch gar nichts angezeigt werden,wenn ich meine maske drüberlege?
woher weiss meine maske,dass sie video-input sein soll?
kannst du mir da auf die sprünge helfen?

edit/
zitat von irgendwoher:"Video-Overlays liegen eben nicht im "Screen.Canvas" oder "WindowForm.Canvas", sondern mehr oder weniger in einem speziellen Bereich des Grafikspeichers - im Fenster würdest du nur eine einheitlich gefärbte Fläche auslesen. Overlays zu lesen ist ein Kunststück, das kaum ein Programm beherrscht."



gruss/elto


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 05, 2006 19:17 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also wir hatten die Tage (ich glaub Aya wars) ne frage wie man ne Webcam mit OpenGL ausließt und darstellt. Also so unmöglich isses demnach nicht. Außerdem vertrete ich mittlerweile die ansicht, dass alles was ein Computer an Daten erhält prinzipiell auch irgendwie umgeleitet und uminterpretiert werden kann. Wär ja noch schöner wenn man das mit den Bildern nicht könnte.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 05, 2006 21:00 
Offline
DGL Member

Registriert: Sa Mär 04, 2006 19:39
Beiträge: 8
hallo,
hab mir opengl noch nicht zu gemüte geführt,(werde ich noch nachholen)
habe ne webcam auslesen ist doch relativ einfach.es handelt sich ja um hardware und das device kann man über ds-pack oder videolab zusammenklicken.gibt vieleicht etwas overhead aber da gibt es ja zig möglichkeiten.habe mal letzte woche mit videolab ne webcam ausgelesen und dargestellt,weil der entwickler meinte,man brauch keine zeile code selbst schreiben.
alles nur mit maus zusammengeklickt.funzt einwandfrei.

netmeeting oder andere chatprogramme ist da schon was anderes.es handelt sich nicht um hardware.ausserdem kommt unter umständen noch das overlay problem hinzu.
im moment bin ich da angelangt:es gibt einen direct show filter namens pushsource_desktop.damit kann man screens machen(vom fensterhandle),das dann nach tbitmap und dann wieder zum avi machen.das könnte ich dann nach motion detect abscannen.dabei habe ich mich aber um overlay noch nicht gekümmert.aber im fall netmeeting geht das.
scheint mir aber alles sehr um tausend ecken gedacht.und kostet resourcen.

vieleicht wäre da besser den framebuffer auslesen,keine ahnung.und dann auch nicht den gesamten buffer,sondern nur den bereich der maske.
werde morgen mal den von die genannten beitrag suchen.mal sehen ob da neue erkenntnisse für mich auftauchen.

danke jedenfalls schonmal und wer was neues oder besseres weiss:immer her damit.

g/e

ps:
habe immer noch nicht verstanden,was 'al' mir mit seiner antwort wirklich sagen wollte........


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 05, 2006 23:48 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
ich denke mal, al wird dir einen tipp gegeben haben, wie du dem user die möglichkeit zum auswählen des zu observenden ( ;) ) bildschirmbereich geben kannst.
Also dem User einfach ein Fenster, das du entsprechend bearbeitest (borderstyle:=none, dann kannst du so ziemlich alles damit machen, ohne dass dich irgendwelche titelleisten oder so zeuch nerven), zum sizen und verschieben anbieten.

Ansonsten denke ich nicht, dass ein normaler IM mit Overlay oder ähnlichem arbeitet, es sei denn, er ist speziell für ingame-com gemacht (z.B. XFire) oder ähnliches. Und sowas will man normalerweise nicht überwachen, die machen selbst auf sich aufmerksam ;)

Du solltest also am besten einfach dem User einen ersten Screenshot zur Überprüfung geben - ala "Wenn sie hier eine einfarbige Fläche anstelle ihres bevorzugten IM sehen, dann muss ich ihnen leider mitteilen, dass ich diesen bildschirmbereich nicht überwachen kann. Fortsetzen?" oder etwas ähnlichem.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 06, 2006 15:09 
Offline
DGL Member

Registriert: Sa Mär 04, 2006 19:39
Beiträge: 8
luketheduke hat geschrieben:
Also dem User einfach ein Fenster, das du entsprechend bearbeitest (borderstyle:=none, dann kannst du so ziemlich alles damit machen, ohne dass dich irgendwelche titelleisten oder so zeuch nerven), zum sizen und verschieben anbieten.


ja genau,das würde mich interessieren,wie ich meinem fenster sagen kann,dass der hintergrund,
auf dem es liegt eine videoquelle ist und mein fenster jetzt der videoinput für meine anwendung sein soll.

luketheduke hat geschrieben:
Du solltest also am besten einfach dem User einen ersten Screenshot zur Überprüfung geben - ala "Wenn sie hier eine einfarbige Fläche anstelle ihres bevorzugten IM sehen, dann muss ich ihnen leider mitteilen, dass ich diesen bildschirmbereich nicht überwachen kann. Fortsetzen?" oder etwas ähnlichem.


warum sollte ich das tun?
nur weil ich nicht weiss wie ich das video abgreifen kann heisst das doch nicht dass das nicht geht....
kann mir gar nicht vorstellen,dass das noch nie einer gemacht hat.....


gruss/elto


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 06, 2006 16:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ganz ehrlich. Overlays solltest du erst einmal außen vor lassen. Das ist ein Modus von vielen und ich kenne auch kein Program welches Obverlays einlesen kann. Und Messenger werden sicherlich nicht damit arbeiten. Die Hauppauge WinTV arbeitet normal mit Overlays. Aber seit Windows XP bietet sie einen DirectX beschleunigten Modus an. Der dürfte wieder auslesbar sein. Bin mir da aber nicht so sicher.

Du solltest dir mal ein TCanvas erstellen und diesem den DC des DesktopWindows zuweisen. Dann kannst du locker flockig von dem Canvas lesen ohne, dass du irgendetwas mit dem Fenster machen musst. Evtl kannst du ja dann auch Fenster unter der Maus abfragen und dich an diese ranheften. Also sobald sie verschoben werden verschiebst du dein Rechteck mit. Oder bevor du ein Bild schießt. Evtl kannst du ja dann auch noch hergehen und relative Offsets einstellen oder so etwas.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 08, 2006 21:04 
Offline
DGL Member

Registriert: Sa Mär 04, 2006 19:39
Beiträge: 8
habs mit tcanvas versucht und es funktioniert.
danke an alle....

g/e


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]