AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webcam-Entwicklung: Brauche Eure Hilfe!
Thema durchsuchen
Ansicht
Themen-Optionen

Webcam-Entwicklung: Brauche Eure Hilfe!

Ein Thema von JPSelter · begonnen am 2. Mär 2005 · letzter Beitrag vom 4. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#1

Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 15:24
Ich möchte meine Webcam Software soweit bekommen, dass sie alle paar Sekunden ein Bild als JPG auf meinen FTP-Server lädt. Die Webcam komponenten funktionieren soweit, gleich werde ich noch eine Timer-Komponente hinzufügen und dann muss ich noch sehen, wie ich einen JPG auf Festplatte bekomme. Und dann brauche ich wohl Indy...

Gleich zu anfang: Ich habe absolut keine Ahnung von Indy, habe es soeben in mein Delphi7 nachinstalliert und nun schon das erste Problem:
Wo ist mein Indy? In der Komponentenleiste ist weit und breit nichts zu sehen...
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 17:04
OK, was eine Neuinstallation so alles bewirkt... die Indy-Leiste ist wieder da.
Inzwischen habe ich ein kleines FTP-Demo gefunden, das mit Indy läuft. Es sieht sehr einfach aus. Er conncted jetzt korrekt auf meinen Server und läd eine Datei hoch, aber auf dem FTP hat die Datei einen anderen Namen, sieht wie ein Temp-Name aus. In der FTP-Demo wurde komischerweise nichts dazu gesagt und nichts dagegen unternommen. Was mache ich denn da jetzt? Renamen? Wenn ja wie?
Achja, und wofür ist idAntiFreeze da?
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#3

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 17:10
idAntiFreeze bewirkt, dass das Programm auch während eines Down- oder Uploads einer Indy-Komponente die Messages abarbeitet.

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 19:34
Kann ich über Indy ein Bild direkt auf den FTP laden? Oder muss ich wirklich erst die Bitmap als JPG konvertieren, auf Festplatte als Datei abspeichern und dann die Datei hochladen?
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#5

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 19:37
Du kannst den Stream direkt hochladen.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 19:38
Per FTP kannst du nur eine Datei von A nach B senden. Die Datei muss also schon fix und fertig, so wie du sie haben willst auf der Platte liegen.

Der Put Befehl bei der Indy-Komponente ist überladen. Es gibt auch eine Version, bei der du Quell- und Zieldateiname angeben kannst. Setzt du beide gleich, sollte dein Namensproblem verschwunden sein.

Edit: Stimmt, einen Stream kannst du auch direkt schicken, falls du denn einen hast...
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 19:48
OK, dann muss ich erst die JPG-Datei auf Platte speichern. Die Dateinamen auf dem FTP stimmen jetzt auch.

Neues Problem: Mein Programm frisst Speicher. Jedesmal wenn ich in meine TImage Komponente den gegrabbten Frame zwischenspeichere, wird mein Speicher voller und voller. Was muss ich denn hier machen? Irgendwas mit Image1.Free?
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#8

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 19:51
Zeig mal den Code, wann was wo passiert.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 20:09
Delphi-Quellcode:
procedure processGrab;
begin
  Form1.tsCap321.CapOrder:=start;
  Form1.tsCap321.CapOrder:=grab; <---------------------- eigentlicher Frame wird gegrabbt
  Form1.tsCap321.CapOrder:=stop;
end;

procedure TForm1.Timer1Timer(Sender: TObject); <---------------- Timer-Intervall liegt bei 10 Sek
var time1,time2: ttimestamp;
begin
  if ready then
  begin
    Label10.caption:='Status: sending ...';
    time1:=DateTimeToTimeStamp(Time);
    processGrab;
    processFTP;
    time2:=DateTimeToTimeStamp(Time);
    processtime:=time2.time-time1.time;
    Label11.caption:='Processtime: '+inttostr(processtime)+' ms';
    Label10.caption:='Status: waiting ...';
  end;
end;

procedure TForm1.tsCap321Bitmap(Sender: TObject; Bitmap: TBitmap;
  msSinceFirstFrame: Cardinal);
var datei: string;
begin
  Image1.Picture.Bitmap:=Bitmap; <--------------------------- hier scheint der Speicher vollzulaufen
  datei:=Extractfilepath(Application.exename)+'/'+fname;
  with TJpegImage.Create do
  try
    Assign(Image1.Picture.Graphic);
    SaveToFile(datei);
  finally
    Free;
  end;
end;
  Mit Zitat antworten Zitat
Elite
(Gast)

n/a Beiträge
 
#10

Re: Webcam-Entwicklung: Brauche Eure Hilfe!

  Alt 2. Mär 2005, 20:23
Zitat von JPSelter:
Delphi-Quellcode:
procedure TForm1.tsCap321Bitmap(Sender: TObject; Bitmap: TBitmap;
  msSinceFirstFrame: Cardinal);
var datei: string;
begin[/quote:6d56943b9b]
  Image1.Picture.Bitmap:=Bitmap; <--------------------------- hier scheint der Speicher vollzulaufen
  datei:=Extractfilepath(Application.exename)+'/'+fname;
  with TJpegImage.Create do
  try
    Assign(Image1.Picture.Graphic);
    SaveToFile(datei);
  finally
    Free;
  end;
end;
Warum gehst du eigentlich solche Umwege. Hat das irgendeinen Hintergrund?
Sonst würde ich mal das vorschlagen:
Delphi-Quellcode:
 with TJpegImage.Create do
  begin
    Assign(Bitmap);
    SaveToFile('C:\Screens\ScreenShot.jpg');
    free;
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:07 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