【问题标题】:Video API For Building Video-Conference App用于构建视频会议应用程序的视频 API
【发布时间】:2010-09-16 11:05:11
【问题描述】:
我将在接下来的六个月内构建一个应用程序,该应用程序将用作双向视频会议系统,并来回共享一些其他数据。我可能会使用某种相对昂贵的 USB 网络摄像头,并且知道 USB 视频类设备标准,这似乎是要走的路。
现在,我可以使用什么来针对那个(或其他方向)进行编程?操作系统并不重要,因为它没有决定(将选择适应整体需求),语言也不是。网络将是 VPN,最坏情况 256kbps 对称。理想情况下它也可以处理编码和压缩,但基本上我只是在寻找某种起点来开始研究(目前刚刚发现 TAPI 和 H.323,不确定最好的编程方式)。
【问题讨论】:
标签:
video-streaming
webcam
tapi
h.323
【解决方案1】:
我完全不建议使用 H.323 来构建新应用程序,尤其是面向用户的应用程序。我推荐 SIP,因为它更简单、更清晰的信令/协商等
从另一个角度来看,如果您要构建的调用密度超过 5 个,我不建议使用 OPAL。这是因为那里放置了许多架构解决方案(具有一些竞争条件的线程管理,具有延迟复制的非常复杂的容器管理,这实际上使事情变得更加危险等等)。这是因为 OpenH323 遗留方法(实际上是用于 OpenH323 的 ptlib 库)。
也许从我对 OpenH323 和早期 Opal 感到头疼的日子开始有所改变,但我认为这不是基本的。
去FreeSwitch平台看看怎么样?人们说它的设计要好得多。
【解决方案2】:
我同意 PW。
- OPAL 是一个很好的选择。
- 支持音视频设备
- 它可以在 windows、linux 和其他一些平台上编译
还有
- 我推荐使用 SIP 协议(相对于 H323)
- 你不需要使用 Ekiga。 Ekiga 是 OPAL 的前端。您可以查看 OPAL 示例,并根据这些示例进行构建。
【解决方案3】:
使用 gnome,你有ekiga。你也可以为win32交叉编译它。它在下面使用 OPAL(开放电话抽象库)。也许工具本身会满足您的需求,否则您可以调整它(OSS)或者您只能保留低级 API