我开发了一个点对点的wpf应用程序,其中我只是将我的视频广播给其他同行,但我也希望同时看到他们的视频。目前我不知道如何将我的视频流传递给其他同行的机器,以便他们可以自己处理。我希望它是p2p视频会议。我希望一个对等体应该将其视频发送给其他对等体,同时它正在接收来自其他对等体的视频。
我应该使用什么方法?
同时处理多个客户请求的线程?
答案 0 :(得分:0)
似乎非常合理的是,您将有一个线程(或更多)处理您自己的视频以便传输到会议中的其他参与者,同时让一个线程处理来自其他每个参与者的视频输入以显示给您自己的屏幕,以及用于控制布局等的任何杂散线程(因此,如果会议中有N个人,则会有1个传输线程,N-1个显示线程和一个控制器线程,以及最常见的其他人合适的。)
例如,您可能有一个比其他视频输入更大的视频输入,并且控制器线程将用于允许您随时选择哪个是主要(放大)视频输入。
答案 1 :(得分:0)
如果您使用的是Java,请调查NIO和基于NIO构建的库(例如Netty)以限制线程的使用。与多线程相比,它们可以更有效地处理多个连接。