6

我在 SO 和其他地方都看过很多地方,但似乎没有任何东西可以直接回答我的问题(至少不使用我熟悉的术语)。

注意:我们知道让视频自动回复器顺利工作并看起来不错的挑战,但这个问题与此无关。现在,我专注于将视频文件提供给 Skype 的直接技术问题。

背景
我被要求创建一个 Skype “自动回复”,用于支持音频和视频通话以及 IM 聊天的演示环境。

问题
为此创建一个 IM 聊天“机器人”相对容易,并且似乎存在用于通过呼叫播放音频文件的现有 Skype API,但没有用于播放视频文件的 API。

做我的功课
在 Skype API 中,还有一个名为 SkypeKit 的版本,据说它提供了一些与标准桌面 API 不同的功能。我已提交访问 SkypeKit 的请求,但尚未收到对此的回复。

除了 Skype API 的支持之外,我们的下一个想法是必须有虚拟网络摄像头组件可供下载/购买,以便我们播放视频,以便 Skype 相信它来自网络摄像头。我在 stackoverflow 上发现的与此更接近的问题之一是:

如何在 .NET 中使用虚拟网络摄像头驱动程序进行传输

但是,该帖子的作者将他的请求限制为免费/开源解决方案,而我可以选择使用商业组件(在合理范围内)。此外,对它的唯一回应意味着使用 DirectShow 构建您自己的虚拟网络摄像头。

在 SO 和其他网站上都有很多关于使用 DirectShow 构建自己的虚拟网络摄像头的讨论,但这似乎比仅仅花几百美元购买东西要昂贵得多。我对 DirectShow 或任何相关内容的经验为零,仅了解概念和术语就需要时间。有可能我可以花时间学习所有这些,但如果有更简单的解决方案,我会更喜欢。

就现有组件而言,我唯一能找到的是Virtual Camera SDK,但它似乎专注于捕获视频(来自屏幕或真实网络摄像头),而不是冒充其他应用程序的网络摄像头。他们的网站信息也比较模糊,这让我有点谨慎。

我发现了很多其他产品和讨论,但是在这里列出它们会很乏味且没有信息量。

问题
我的实际问题有两个部分:

  1. 将视频文件流式传输到 Skype 通话的最佳方式是什么?
  2. 如果答案是通过虚拟网络摄像头,那么完成此任务的最简单方法是什么(即良好的现成组件、示例代码等)?

顺便说一句,这里有人甚至建议只在屏幕上播放视频并设置一个真正的网络摄像头将图像流式传输到 Skype。您可以想象,完全编程的解决方案会更好。

提前感谢您的任何帮助。

4

1 回答 1

1

使用当前技术,我想说最好的选择确实是使用虚拟网络摄像头实现。

有几种可用的解决方案(快速的 Google 搜索 - www.google.com/search?q=virtual+webcam - 返回了很多选项)。完整的 POC 解决方案将涉及:

  • 初始化虚拟网络摄像头,让它为视频播放做好准备;
  • 确保 Skype 使用虚拟网络摄像头作为视频源;
  • 使用 Skype API 检测 Skype 来电;
  • 使用 Skype API 接听电话,并使用虚拟设备作为目标开始视频播放。
  • 清理:在视频结束时挂断,或者如果远程呼叫者挂断,则停止播放。
于 2013-04-02T18:42:35.457 回答