Microsoft Azure 媒体服务上的类似 Skype 的应用程序

Skype like application on Microsoft Azure Media Services

目前我正在构思一个类似于 "Skype" 的应用程序。例如,人们视频呼叫其他人。现在我在 Microsoft Azure Media Services 上想到了 运行ning 这个。但是我不太确定这是否可能。

我发现这个 video 解释了如何从您的计算机网络摄像头制作简单的视频流。他们在那里所做的是创建一个 Channel(在 Azure 环境中手动)并流式传输到 ingest url。结果可以在publish url中看到。

到目前为止一切顺利。我明白这一点。但这种方法不适用于让人们与其他人进行视频聊天。 (我想每个 "videochat" 都需要它自己的 Channel)并且手动创建它们是行不通的。

于是我发现有一个RESTAPI。通过 REST 到 create channels。这将是一种可能性。但是创建一个 Channel 最多需要 30 秒。所以我想这也不是要走的路。

我想我的问题归结为这个。是否可以在 Windows Azure(媒体服务)上 运行 类似 Skype 的应用程序,如果可以。怎么样?

截至目前,Azure 媒体服务中的实时流媒体在捕获的视频和通过发布的频道流式传输之间会有 30-40 秒的延迟。

架构和目标不同。 Azure Media 服务专为提供可扩展的实时流媒体解决方案而量身定制,可让 0 到数百万并发用户观看您的频道(例如 2015 年超级碗)。它还具有执行各种媒体相关工作流程的能力。 Skype has a P2P architecture 以存档给定连接质量的最小延迟。

如果上面提到的延迟对你来说并不重要,那么你可以使用 Azure 媒体服务流,否则你需要使用一些基于 p2p 架构的解决方案。

Azure 不支持会议视频流式传输服务。

但您可以在 Azure VM 上安装任何开源 SFU/MCU 设备。

看看 Kurento、Jitsi、Janus 和其他人。

我不认为 p2p 是唯一的选择,因为 Skype 和 Google 的 WebRTC 堆栈使用媒体中继,以防无法建立对等连接并且延迟仍在可接受的范围内.这个主题的内容远不止这些。