将现有视频文件从C#馈送到Skype呼叫的最简单方法
本文关键字:Skype 呼叫 方法 最简单 视频 文件 | 更新日期: 2023-09-27 18:00:16
我在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,但它似乎专注于捕捉视频(从屏幕或真实的网络摄像头),而不是为其他应用程序冒充网络摄像头。他们的网站信息也相当模糊,这让我有点谨慎。
我发现了很多其他产品和讨论,但在这里列出它们会很乏味,也没有什么信息。
问题
我的实际问题有两部分:
- 将视频文件流式传输到Skype通话的最佳方式是什么
- 如果答案是通过虚拟网络摄像头,那么实现这一点的最简单方法是什么(即现成的好组件、示例代码等)
顺便说一句,这里有人甚至建议只在屏幕上播放视频,并设置一个真正的网络摄像头将图像流式传输到Skype中。正如你所能想象的,一个完全程序化的解决方案会更好。
提前感谢您的帮助。
根据当前的技术,我认为最好的选择确实是使用虚拟网络摄像头实现。
有几种可用的解决方案(快速谷歌搜索-www.Google.com/search?q=虚拟+网络摄像头-返回了相当多的选项)。完整的POC解决方案包括:
- 初始化虚拟网络摄像头,让它为视频播放做好准备
- 确保Skype使用虚拟网络摄像头作为视频源
- 使用Skype API检测Skype传入的视频呼叫
- 使用Skype API接听电话,并以虚拟设备为目标开始视频播放
- 清理:视频结束时挂断,或者如果远程呼叫方挂断,则停止播放