0

我有许多计算机(客户端)分布在房子周围,并通过有线 LAN 连接。我的目标是从所有这些计算机收集视频流并将它们显示在单个(服务器)大屏幕上。客户可以流式传输他们的桌面、视频文件、文本(作为图像)或其他任何内容。

此时,我在客户端准备了低分辨率的视觉数据,并使用 OpenGL 在服务器上单独显示它们。现在我想创建一个动态网格并在同一个窗口上显示多个流。动态的,因为在任何给定时间,只有部分客户端会进行流式传输。我想让这些网格根据活动客户的数量改变其结构。客户端和服务器都运行 Linux 和 Gnome。我目前倾向于使用OpenGL并为每个客户端使用单独的线程。我不知道这是否是个好主意,因为每个流可能有不同的更新率

您认为实现此功能的最简单方法是什么,例如在不牺牲灵活性的情况下减少编码?哪种技术最适合这项任务?我对图形编程的了解非常有限。

4

2 回答 2

2

您可以绘制一组矩形 - 每个视频一个。每个视频帧都将是其矩形的纹理。您可以以不同的速率独立更改纹理。

于 2013-01-14T07:39:36.763 回答
1

如果您的每台计算机都有专用的现代 GPU,您可以在称为并行渲染的过程中利用它。这意味着每个 GPU 负责渲染最终帧的一部分。您的一台 PC 成为作曲家,其余的是“奴隶”。每个奴隶渲染它的部分并将结果获取到组装最终帧的作曲家。设置这样的系统并非易事,但您可以获得可观的性能提升 + 可扩展性。

看看 Equalizer框架。在这种情况下,它可以减少开发工作量。

于 2013-01-14T07:56:50.953 回答