3

我想写一个类似于 Skype 的软件,它允许 P2P 视频/音频流。哪种语言更适合这种情况?

有几个要求:

  1. 软件应该易于安装。

  2. 它应该很容易编程。

  3. 我想访问视频信息。例如,即时进行面部表情识别。

  4. 它应该是免费的。

我正在考虑 Python 和 Java。哪一个会更好?或者可能有更好的第三种选择?

添加

Flash 是一个有吸引力的选择,因为用户可以使用默认安装了 Flash 的浏览器,如果没有,安装 Flash 很容易。但我不知道我是否可以访问视频(如果我想做一些处理)。此外,Flash 不是免费的。

4

2 回答 2

4

您感兴趣的功能可能涉及一些繁重的网络流量(用于视频流)和 CPU 使用(用于面部识别)。因此,效率在您的最终产品中非常重要,这意味着您希望这些关键部分由本机代码处理,可能是用 C 或 C++ 编写的。

另一方面,您需要一种易于编程的语言,这在您进行试验和原型设计时非常合适。一种用少量代码使您的含义清晰的表达语言将帮助您专注于解决您面前的问题,而不是陷入实现细节的困境。Python 是一个非常好的选择。(事实上​​,Python 是其他几个 p2p 项目的开发语言,包括BitTorrentP2P-Next和我自己的视频流系统。)

请允许我建议这种方法:

  1. 使用 Python 等高级语言开发您的第一个版本。
  2. 使用编译的库进行视频帧处理。几个主要的多媒体库都有 python 绑定,包括gstreamerlibavcodec
  3. 一旦你有了一个工作原型并对你的设计感到满意,考虑用 C 或 C++ 重新实现系统。
于 2010-06-08T06:35:52.187 回答
1

我会说flash,因为插件很普遍,你有一种高级语言,它已经有一个流视频的API,所以你不必重新发明C语言。

于 2012-06-26T01:42:34.280 回答