Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi WebCam - TVideoCap ? (https://www.delphipraxis.net/44230-webcam-tvideocap.html)

Nisbo 15. Apr 2005 19:37


WebCam - TVideoCap ?
 
Moin Moin

inzwischen bin ich bei dem Schritt angekommen eine Webcam mit einzubinden in mein Programm, durch die Suche über Google bin ich auf das Stichwort TVideoCap gekommen welches auch mit D5 funktionieren soll

Leider Hilft mir die Suche hier und auch bei Google nach TVideoCap nicht weiter
die HP vom Autor (wenn es die richtige war) ist nicht mehr erreichbar:
http://www.vclcomponents.com/downloa...OMPONENT=15838

Gibt es da noch andere Möglichkeiten ein Webcambild in sein Programm zu zaubern und an einem Port zur Verfügung zu stellen ?

sandraeberlein 15. Apr 2005 20:45

Re: WebCam - TVideoCap ?
 
Bei indy gibts so ne kompo daför funzt wunderbar

Nisbo 16. Apr 2005 06:17

Re: WebCam - TVideoCap ?
 
Nennst Du mir auch nopch den Namen und gibst nen paar kleine Hinweise ?
Indy hat leider keine OH :(

Aenogym 17. Apr 2005 19:21

Re: WebCam - TVideoCap ?
 
hi,

bei indy gibts so eine komponente garantiert nicht - da gibts nur internet-komponenten. bei der JVCL gibts eine komponente namens TJvAVICapture die das kann.

aenogym

Nisbo 18. Apr 2005 08:42

Re: WebCam - TVideoCap ?
 
thx für die Infos, nun heißt es fumeln um da was hinzubekommen da es leider keine wirkliche Hilfe dazu gibt :(
also Google spuckt nichts aus

falls jemand schon mal eine Cam eingebunden hat wäre ich für Infos darüber sehr dankbar ;)

alcaeus 18. Apr 2005 08:49

Re: WebCam - TVideoCap ?
 
Moin Nisbo,

du brauchst dafuer die WM_CAP_*-Messages. Ein Beispiel wie du damit arbeiten kannst findest du u.a in diesem Thread.

Demo-App gibts keine, damit Robert_G nichts mehr sagen kann ;)

Greetz
alcaeus

Steve 18. Apr 2005 08:54

Re: WebCam - TVideoCap ?
 
Hi,
Zitat:

Zitat von Nisbo
falls jemand schon mal eine Cam eingebunden hat wäre ich für Infos darüber sehr dankbar ;)

Wir haben dafür die LEADTOOLS benutzt, weil wir die eh schon hattten... Kostet halt was, ist dafür aber erste Sahne :stupid:

Gruß
Stephan :dance:

Nisbo 18. Apr 2005 10:34

Re: WebCam - TVideoCap ?
 
ok nach etwas suche findet man auch zu JVCL beispiele:
http://prdownloads.sourceforge.net/j...s.zip?download

Nisbo 18. Apr 2005 12:25

Re: WebCam - TVideoCap ?
 
CamAnzeige funktioniert jetzt, auch der Server als ServerSocket1 nimmt verbindungen an


Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
     ServerSocket1.Active := false;
     ServerSocket1.Port  := StrToIntDef(Edit4.Text,8888); // Port 8888 ist Standard
     try
        ServerSocket1.Active := true;
     except
        raise;
     end;

     if ServerSocket1.Active then
     begin
          // noch nichts
     end;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
   showmessage('Verbunden');
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
   showmessage('Verbindung getrennt.');
end;
wenn ich jetzt per Browser auf meine IP und Port 8888 verbinde erscheint auf die Message Verbunden bzw beim Trennen "Verbindung getrennt"

Jetzt stellt sich nur die Frage wie ich dem browser jetzt einen Frame von der Webcam schicke.
Dort nutze ich TJvAVICapture als Anzeige des WebCamBildes

Jemand eine Idee ?

Nisbo 19. Apr 2005 10:49

Re: WebCam - TVideoCap ?
 
ich werde hier noch verrückt, ich bekomme es jetzt nichtmal hin ein einfaches Bild zu senden :(

dafür habe ich dieses Code den ich durch die Suche gefunden habe benutzt:

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var fsWork : TFileStream;
    sBuffer : String;
begin
    fsWork := TFileStream.Create('C:\bild.jpg', fmOpenRead);
    sBuffer := StringOfChar(#0,fsWork.Size);
    fsWork.Seek(0, soFromBeginning);
    Socket.SendStream(fsWork);
end;
mein Programm rufe ich über den Browser auf, also IP:Port/bild.jpg
wie gesagt der aufruf wird erkannt, auch wenn ich im Browser auf abbrechen gehe wird es erkannt, siehe code oben

mir wurde bei meiner ganzen testerei auch schon mal das bild angezeit, einmal ganz und dann mehrmals nur teilweise

denke mal das ich zuerst dieses Problem lösen muß um dann die sache mit dem Einzelbild aus dem CamBild umzusetzen

hoffe es kann mir jemand helfen ;)


EDIT: jetzt habe ich rausbekommen wie man zumindest etwas vom Bild bekommt, warum auch immer ist mir nicht klar aber als ich auf den Server starten Button geklickt habe welcher diesen Code ausführt:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
     ServerSocket1.Active := false;
     ServerSocket1.Port  := StrToIntDef(Edit4.Text,8888); // Port 8888 ist Standard
     try
        ServerSocket1.Active := true;
     except
        raise;
     end;

     if ServerSocket1.Active then
     begin
          // noch nichts
       //   showmessage('Server gestartet!');
     end;
end;
kam ein Bild im Browser an, allerdings nur ca 2/3 vom Bild

also habe ich mir einen sleep(100) mit eingebaut, ohne den gehts nicht, k.a. warum nicht und danach einen ButtonClick simuliert

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var fsWork : TFileStream;
    sBuffer : String;
begin

    fsWork := TFileStream.Create('C:\polauto.jpg', fmOpenRead);
    sBuffer := StringOfChar(#0,fsWork.Size);
    fsWork.Seek(0, soFromBeginning);
    Socket.SendStream(fsWork);

    sleep(100);
    BitBtn1.Click;

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.
Seite 1 von 2  1 2      

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