如何在视频会议上接收来自不同用户的多个流?

时间:2012-08-12 19:12:39

标签: stream udp video-conferencing

我已经开发了一对一会议,但我希望继续使用多个用户。 对于音频流,我使用DirectSound并将字节发送到端口1300上的远程IP,对于视频流,我使用DirectX。捕获并发送字节到端口1301上的远程IP。

在接收线程上对一个用户来说很简单,我有一个插座女巫听1300端口然后我知道我有声音而另一个socket在端口1301上的一个单独的线程上监听视频。

但我的问题是:如果有三个用户,一个用户应该从其他两个用户接收视频和音频。我如何从其他两个用户接收这两个流?

它们无法到达同一个端口,因为我无法区分哪个流来自user1,哪个流来自用户2。

例如,这是我的一个用户的receiveVideoThread:

public void receiveVideoThread()
{
IPEndPoint ie = new IPEndPoint(IPAddress.Any, 0);

while (true) //Thread activity
{

byte[] data = videoSR.Receive(ref ie); //We wait for video image on port 1301,videoSr is the UdpClient

Image x = Utilitare.ClsUtilitare.byteArrayToImage(data);

pictureBox1.Image = x; //set image received to the picture Box
        }
    }

但这仅适用于从图像发送流的一位用户。对多个用户有什么想法?

0 个答案:

没有答案