视频服务器支持Http

时间:2012-06-17 13:38:11

标签: http video video-streaming

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

两个简单的问题,

  • 对于大视频文件,我应该将它们放在磁盘上还是内存中? Youtube或其他大型视频网站是如何做到的?不确定是否将所有视频放入内存太贵,并将视频放在磁盘上太慢了?
  • 我的目的是否有任何开源视频托管服务器?如果支持steaming,那就太棒了。
提前谢谢, 乔治

2 个答案:

答案 0 :(得分:1)

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

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

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

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

重新:YouTube如何处理大视频文件

我怀疑他们是在磁盘上,直到需要它们为止。仅在需要时移入内存。不再需要时从内存中刷新。

re:我的目的是否有一个开源视频服务器

YES!查看http://www.videolan.org/

-Jesse

答案 1 :(得分:1)

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

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