2013-01-22 35 views
0

为了开发一个像youtube这样的视频内容繁重的网站,从视频转换/压缩插件的角度来看,哪种语言/框架可能是性能和支持的更好选择。值得考虑的一些观点可能是。视频内容重型网站

  • CPU VS I/O时间
  • 支持压缩/转换插件(现有MODS /宝石/库)
  • 易于学习不是很重要,虽然投入的欢迎

我知道这个问题听起来有点主观,但我的目的是要了解具有开发类似网站的经验的人所涉及的技术问题。

回答

0

对于这样的网站,我想将需要选择几个工具来完成这项工作。 对于网页,你可以使用任何框架,所以轨道将是好的,以处理视频,你需要像ffmpeg或transconding转换视频。 对于流式传输,如果您可以使用HTML5,请检查this question,否则您需要一名具有闪回效果的播放器。

请记住,在存储和CPU方面的重要部分是视频压缩/转换。

3

不幸的是,没有一个或两个APIs/Libraries/Frameworks可以编织在一起来制作视频服务网站。

不变的是这将需要在堆栈的各个层面大量参与:

服务器后端将需要以下亟待解决的问题:

  • 视频编码
    • FFMPEG或MPlayer的经验用于将任意数量的视频格式编码为FLV或支持HTML5格式的更新版h264
    • 在后台进程中对视频进行转码的可靠机制;最初在一台服务器上,但最终还是在多台服务器为您服务扩展
    • 视频缩放
  • 带宽管理,以流连接刚够使视频滑下用户
  • 存储视频文件和文件分片和命名机制
  • API服务器 - 类似于Rails,Django或NodeJS Express,用作Web客户端和视频编码/服务服务之间的JSON服务层。

前端会要求下面要解决的问题:

  • 跨多个操作系统(在Windows,OSX,Linux的,平板电脑,移动)和平台播放视频可靠(IE,Chrome浏览器/ Safari浏览器,Firefox,Opera),支持旧版浏览器
  • DRM - 您的视频是免费还是商业版?如果是后者,这是另一个需要解决的问题

我强烈建议您在后端安装事件驱动系统,因为开发支持并发的代码要容易得多。 NodeJS将是一个不错的选择。 NodeJS的node-fluent-ffmpeg模块是一个很好的起点。

至于你的前端,我会推荐框架,如Backbone.js或AngularJS来开发你的网络应用程序。

几年前,当我尝试类似的东西时,这是一个有趣且充满挑战的旅程。祝你旅途愉快。

+0

感谢您的输入。 – yetanotherse