【问题标题】:video server supporting Http支持Http的视频服务器
【发布时间】:2012-06-17 13:38:11
【问题描述】:

我想设置一个支持 Http 协议的视频点播服务器。就像 Youtube,里面有很多视频,最终用户可以通过浏览器播放它们(使用 Flash 或 Html 5)。

两个小问题,

  • 对于大视频文件,我应该将它们放在磁盘还是内存中? Youtube 或其他大型视频网站是如何做到的?不确定将所有视频放入内存是否太贵,而将视频放入磁盘是否太慢?
  • 是否有任何开源视频托管服务器可供我使用?如果支持蒸汽,那就太好了。

提前致谢, 乔治

【问题讨论】:

    标签: http video video-streaming


    【解决方案1】:

    如果您只想拥有一个链接到您的视频文件的 HTML 页面 - 没问题,但大多数浏览器会在您的系统考虑播放之前下载整个文件。

    如果您想流式传输文件(像 YouTube 和其他人一样),那么您实际上并没有对视频本身使用 HTTP。 HTTP 用于获取有关流的信息,因此您的播放器可以直接流式传输和播放,而无需先下载整个文件。

    流式视频使用 RTSP(或其他一些流式协议)处理音频和视频数据。

    最接近“流式传输”视频的 HTTP 协议是使用单个图像帧的服务器推送,并标记每个帧以替换前一帧。并非所有浏览器都可以直接处理此问题,但可能需要 ActiveX 控件或 Java Applet。最初的 QuickTime 是在服务器上实现流式传输协议之前执行此操作的。

    re:YouTube 如何处理大视频文件

    我怀疑它们在需要之前一直在磁盘上。仅在需要时才移入内存。不再需要时从内存中清除。

    re: 有没有适合我的开源视频服务器

    是的!查看http://www.videolan.org/

    -杰西

    【讨论】:

    • 谢谢 Jesse,videolan 是媒体播放器还是视频服务器?我的问题是询问视频服务器。 :-)
    【解决方案2】:

    另一种方法是使用 HTTP Live Streaming - HLS - Web 服务器只是一个标准的 httpd 服务器 - 视频/音频在服务器端被预处理为一组比特率播放列表。 客户端的逻辑是根据带宽适当的播放列表将媒体检索为一系列 6 秒的文件。

    所以: - 使用文件而不是内存 - 有开源的 HLS 分割器(ffmpeg)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 2015-04-15
      • 2018-05-25
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      相关资源
      最近更新 更多