我想设置一个支持Http协议的视频点播服务器。就像Youtube一样,它可以播放很多视频,最终用户可以通过浏览器播放它们(使用Flash或Html 5)。
两个简单的问题,
答案 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)