如何投放Youtube等视频?几乎即时发挥和快速寻求

off*_*101 5 youtube streaming video-streaming progressive-download pseudo-streaming

如何投放像Youtube这样的视频呢?即使视频很长(大约2个小时)并且以高清方式观看,它几乎可以立即播放并且寻找尚未加载的部分非常快.

我正在使用Rackspace的专用服务器,100Mb上/下进行此测试,我的ping时间低于50ms到服务器.我的本地互联网连接是10Mb,当我从服务器下载东西时,我可以最大化我的互联网连接,因此连接到服务器不是问题.

我试图模仿这个,我尝试使用H264流模块使用Wowza和Pseudostreaming实时流式传输.两者都无法与Youtube提供视频的速度相提并论.

视频测试文件为MP4(h.264),300MB,2小时长,总比特率设置为500kbps,JWPlayer作为视频播放器

  • Wowza Streaming(RTMP) - 加载然后播放视频很快,但没有youtube快.寻求不是那么快,移动到新位置并继续播放视频需要大约5-7秒.

  • 伪丢弃H264流模块(HTTP) - 加载视频需要很长时间,因为它在播放之前首先下载视频标头.一个2小时的视频有大约2.5MB的MOOV ATOM(视频头文件),它需要先播放才能播放.一旦开始播放,寻求不下载的部分与Wowza相同,但不如Youtube快.

以Youtube的速度提供视频需要什么?我还需要它来暂停/下载视频,就像Youtube一样暂停,所以像Wowza这样的Real Streaming就出来了.

使用H264 Streaming模块的伪流程本来不错,因为它在暂停时会缓冲,只是初始加载时间非常长!无论如何,我可以删除初始加载时间?

我还有什么其他选择?我对我可以在服务器中使用的任何其他选项持开放态度.

Nit*_*inG 0

YouTube 的运作方式与众不同,而且他们不断改变其运作方式。通过过去 4 年通过 wire-shark 捕获 YouTube 提要对此进行逆向工程,我发现这种模式是非常动态的。分段是关键,双缓冲区、多个缓存服务器和技术、使用客户端计算机作为缓冲区渲染和播放器的功能非常重要。使 YouTube 视频变得快速、流畅的因素有很多。

您可以在某种程度上模拟相同的内容,但构建完全相同的内容需要大量的工作和基础设施。