A
atomy
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在做一个局域网的视频电话, 现在点对点之间的语音、视频传送已完成,现在想
加一个视频会议功能,已经解决了语音广播的问题,语音通讯是使用了一个UDP端口,
但是在视频的广播这儿我碰到了问题,假设用户端有四个,我开了四个UDP端口,然后
每个用户端向不同的端口广播视频,这样就不会造成视频数据混合在一起的问题。
但是我现在只能收到自己的视频,不知道原因,现贴出部份代码,请帮帮忙。
原来的接收端部份程序:
constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;
constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
MyStream1 := TMemoryStream.Create;
MyStream2 := TMemoryStream.Create;
MyStream3 := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;
原来的程序是收到对方的图片然后写到自己的image控件中,现在加了四个UDP端口,
是不是收到的流也就是四个了?
原代码:
procedure TRecvPacketThread.EchoImage;
begin
Form1.Image1.Picture.Bitmap.LoadFromStream(MyStream);
end;
改过后:
procedure TRecvPacketThread.EchoImage;
begin
// Form1.Image2.Picture.Bitmap.LoadFromStream(MyStream);
// Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image3.Picture.Bitmap.LoadFromStream(MyStream1);
Form1.image4.Picture.Bitmap.LoadFromStream(MyStream2);
Form1.image5.Picture.Bitmap.LoadFromStream(MyStream3);
end;
加一个视频会议功能,已经解决了语音广播的问题,语音通讯是使用了一个UDP端口,
但是在视频的广播这儿我碰到了问题,假设用户端有四个,我开了四个UDP端口,然后
每个用户端向不同的端口广播视频,这样就不会造成视频数据混合在一起的问题。
但是我现在只能收到自己的视频,不知道原因,现贴出部份代码,请帮帮忙。
原来的接收端部份程序:
constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;
constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
MyStream1 := TMemoryStream.Create;
MyStream2 := TMemoryStream.Create;
MyStream3 := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;
原来的程序是收到对方的图片然后写到自己的image控件中,现在加了四个UDP端口,
是不是收到的流也就是四个了?
原代码:
procedure TRecvPacketThread.EchoImage;
begin
Form1.Image1.Picture.Bitmap.LoadFromStream(MyStream);
end;
改过后:
procedure TRecvPacketThread.EchoImage;
begin
// Form1.Image2.Picture.Bitmap.LoadFromStream(MyStream);
// Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image3.Picture.Bitmap.LoadFromStream(MyStream1);
Form1.image4.Picture.Bitmap.LoadFromStream(MyStream2);
Form1.image5.Picture.Bitmap.LoadFromStream(MyStream3);
end;