Einzelnen Beitrag anzeigen

TDR
(Gast)

n/a Beiträge
 
#19

AW: Webcam übertragung mittels Sockets

  Alt 31. Dez 2010, 15:30
Also das Handle zu einem Gerät ist mit einer Zufallszahl zu vergleichen. Du kannst die Zahl übers Internet pusten und sie ist überall wertlos. Du musst also zuerst dir das Bild von der Kamera holen. (Ich gehe mal nicht davon aus, dass du gleich mit einem Videostream starten willst.) Sobald du das Bild hast, musst du es in einen Stream speichern (vorzugsweise TMemoryStream, damit nichts auf die Platte geschrieben wird). Jetzt hast du deinen Stream.

Um nicht zu viel Verwirrung zu verursachen, bleibe ich bei dem Indy-HTTP-Konzept.

Wenn der IdHTTPServer eine Anfrage bemerkt, leitet er sie per OnCommandGet (?, muss nicht stimmen) weiter. Dort hast du die Möglichkeit, das angefragte Objekt (ARequestInfo.Document) zu erfragen. Hat es dann z.B. den Namen "webcam.bmp", dann stellst du bei AResonseInfo.ContentType "image/(x-)bitmap" zu und AResponseInfo.ContentStream deinen Stream. Den Stream brauchst du dann nicht aus dem Speicher zu nehmen, das macht Indy für dich. Fertig. Dann müsste das auch mit dem Browser funktionieren.

Bernhard
OK erst mal danke für die sehr präzise Antwort.

Das mit dem http möchte ich nicht wegen, der Sicherheit.

Hättest du mal ein Beispielcode für deine erste Möglichkeit (nur das Grundgerüst von client und server)

Schreib doch bitte auch die Komponenten die ich benötige auf -> also TCP Client/Server oder Client/Server Socket.
Danke
  Mit Zitat antworten Zitat