代码之家  ›  专栏  ›  技术社区  ›  MOMEL

使用java的视频服务器

  •  0
  • MOMEL  · 技术社区  · 9 年前

    我正在制作一个社交媒体应用程序(目前是移动的,很快也是网络的),它专注于视频。我有两个问题:

    1) 从android应用程序中,我当前的设计请求来自web服务的新提要-->服务器用包含视频url和其他提要数据(内容、日期等)的json数据进行响应-->然后我为请求视频的VideoView设置url。现在,难道没有更好的方法让我用一个请求获取一个完整的提要吗(通过一个请求,我返回数据和视频/音频/图像)?

    同样在网上研究之后,有人说你使用IntentService来获取新的提要并在本地兑现,也有人说没有。在后端,社交网络应用程序的最佳方法是什么。

    2) 我在网上读到,如果你期望对同一视频/音频进行多个并发请求(我不知道这是否也适用于图像),那么http流是一个非常糟糕的主意,限制几乎是十几个请求。后端应该如何高效地存储视频/音频并将其发送回移动/web应用程序?大型社交网络如何存储他们的数据并发送回去,以便用户能够获得最佳体验(我知道我的应用程序与大型社交媒体网站相比不会有0.01%的流量,但我预计数千名用户和数百名用户可能同时请求同一视频)?服务器(最好是使用Java)做这件事的任何链接都将被理解。

    长话短说,如果有人能帮我找到一个好的资源来设计soical媒体应用程序的后端,那就太好了。抱歉发了这么长的帖子。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Mick    9 年前

    如果您的方法适合您,那么它似乎很好-您不需要为所有内容使用相同的服务器,也不需要使用典型的“模式”,这可能会让您放心:

    • 简单静态web托管或CDN(如Amazon S3或简单静态web服务器)上的静态内容-这是不会经常更改的内容,如图片、标题文本、信息文本等
    • 你最喜欢的web服务器/语言技术上的动态内容&这是每个用户或随时间频繁变化的内容。
    • 视频和音频托管在单独的专用流媒体服务器上,很可能链接到CDN,或者托管在专门从事视频/音频的网络托管服务上。

    分离视频的原因是,流媒体视频的技术非常专业,如果你真的想支持许多设备,那么你实际上需要多个版本的视频来支持所有浏览器/设备和网络带宽组合。如果你想快速入门,一个好的云视频托管服务将在这里为你做艰苦的工作,并允许你的视频在没有任何“YouTube”(如品牌/广告等)的情况下出现。

    如果你想运行自己的视频服务器,那么有开源选项,比如VideoLan和GStreamer,或者付费版本,比如Woza: