5

如何像 Youtube 一样提供视频服务?即使视频很长(将近 2 小时)并且以高清格式观看,它也几乎可以立即播放,并且寻找尚未加载的部分非常快

我正在使用来自 Rackspace 的专用服务器,该服务器具有 100Mb 的上行/下行速度,我对服务器的 ping 时间低于 50ms。我的本地互联网连接为 10Mb,当我从服务器下载某些内容时,我可以最大化我的互联网连接,因此与服务器的连接不是这里的问题。

我正在尝试模拟这一点,我尝试使用 Wowza 进行实时流式传输,并使用H264 Streaming Module尝试使用 Pseudostreaming 。两者都无法与 Youtube 提供视频的速度相提并论。

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

  • Wowza Streaming (RTMP) - 加载然后播放视频速度很快,但不如 youtube 快。搜索也没有那么快,移动到新位置并继续播放视频大约需要 5 - 7 秒。

  • Pseudostreaming H264 Streaming Module (HTTP) - 加载视频需要很长时间,因为它在播放之前先下载视频标头。一个 2 小时的视频有大约 2.5MB 的 MOOV ATOM(视频头文件),它需要先下载才能播放。一旦它开始播放,寻找未下载的部分就可以与 Wowza 相提并论,但不如 Youtube 快。

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

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

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

4

1 回答 1

0

YouTube 的工作方式有所不同,他们不断改变工作方式。通过在过去 4 年中通过wire-shark 捕获 YouTube 提要对此进行逆向工程告诉我,这种模式非常动态。分割是一个关键,双缓冲区,多个缓存服务器和技术,使用客户端机器作为缓冲区渲染,播放器的功能很重要。有许多因素使 YouTube 视频快速流畅。

您可以在某种程度上模仿相同的东西,但构建完全相同的东西需要大量的努力和基础设施。

于 2014-12-02T07:57:51.260 回答