桌面应用程序.net中的视频通话

Meg*_*ind 6 c# wpf skype video-streaming videochat

我正在开发一个wpf应用程序,假设它具有视频通话功能.所以我打算让Skype为我提供解决方案.

我正在使用Skype4COM库来做到这一点.我在我的应用程序中收到了Skype的所有朋友,我可以打电话给我的朋友甚至可以进行视频通话,但我无法控制流媒体.视频正在Skype窗口中显示,我想在我的应用程序中显示它,就像我的应用程序的一部分.

我甚至不知道应该使用哪个控件来处理视频流.

如果还有另一种更好的方式或自由方式在WPF应用程序中添加视频呼叫.我准备改变我的偏好.

我之前曾计划使用Web浏览器控制并使用WebRTC,但不支持IE,并且认为Mozilla和Chrome没有Web浏览器控制.

Sai*_*bal 4

视频会议的实施并不容易。您必须首先查看 SIP 或 XMPP 等信令协议,它们将提供基础设施来维护“朋友”列表以及他们是否在线或离线。信令基础设施还可以让您拨打电话并在接到电话时提醒您。然后还有两个端点之间实际流动的视频/音频的问题。没有可以插入到您的应用程序中的单一解决方案。

您可以查看 Google 的LibjingleConferenceXP作为起点。

要建立视频会议,您需要以下信息:

  1. 你可以给谁打电话?这是您的好友列表。您需要一种机制来将朋友添加到您的列表中,并确保您只能添加愿意与您交流的朋友

  2. 你如何与朋友建立沟通渠道?例如他们的 IP 地址是什么,他们是否支持特定的视频编解码器等等。

  3. 一旦你建立了与朋友沟通的方式,那么就存在接收音频和视频信息并在正确的时间显示它的问题。

对于第 1点和第 2 点,您需要所谓的信令和存在协议。SIP和XMPP是两种非常流行的开放协议。

对于第 [3] 点,您可以查看像 RTP 这样的协议。

您可以通过 google 搜索 SIP、XMPP 和 RTP。您会收到各种各样的文献。查看 RFC 文档以获取确切的信息,它们可能有点神秘。

Libjingle 是一个用 C++ 编写的库,实现了 XMPP 和 RTP ConferenceXP 是一个用 C# 实现的 RTP,具有一些基本的信令,但我认为您可以从示例开始,而无需真正了解细节。