什么语言更适合P2P视频流?

时间:2010-06-05 09:12:57

标签: flash programming-languages video-streaming p2p skype

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

有几个要求:

  1. 软件应该易于安装。

  2. 编程应该很容易。

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

  4. 它应该是免费的。

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

    ADDED

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

2 个答案:

答案 0 :(得分:2)

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

另一方面,您要求的语言易于编程,这在您进行实验和原型设计时非常合适。一种富有表现力的语言可以让您在少量代码中清楚地理解您的意思,这将有助于您专注于在您面前解决问题,而不是陷入实施细节中。 Python是一个非常好的选择。 (事实上​​,Python是其他几个p2p项目的开发语言,包括BitTorrentP2P-Next和我自己的视频流系统。)

请允许我建议这种方法:

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

答案 1 :(得分:0)

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