Das Problem ist garnicht das auslesen, das funktioniert wunderbar. Das mit der KOmpression lasse ich erstmal außen vor, habe da aber auch schon was passendes gefunden (steht sogar beim Client-Code dabei). Mir reicht auch erstmal ein Bild pro Sekunde, auf Skype möchte ich die Messlatte noch nicht setzen
Aber bei mir hackts daran, wie ich das Bild, was ich aus der Cam bekomme jetzt in diese Prodedure packe:
Delphi-Quellcode:
procedure TFormMain.SendStream(pic: TBitmap);
var
MStream: TMemoryStream;
pOutBuf: pointer;
cbOutSize: integer;
begin
pOutBuf := nil;
cbOutSize := 0;
MStream := TMemoryStream.Create;
try
pic.SaveToStream(MStream);
ZCompress(MStream.memory, MStream.size, pOutBuf, cbOutSize, zcMax);
finally
MStream.Free;
end;
if (pOutBuf <> nil) and (cbOutSize > 0) then
begin
IdTCPClient1.Socket.Write(pOutBuf, cbOutSize, 0);
FreeMem(pOutBuf);
end;
end;
//Aufruf
SendStream(); //Was muss jetzt aber in die "()"? Etwas vom Typ TBitmap, aber wo bekomme ich das nun her, bzw. wie bekomme ich eine Bitmap aus dem Video?