如何投放像Youtube这样的视频呢?即使视频很长(大约2个小时)并且以高清格式观看,它也会几乎立即播放并且寻求尚未加载的部分非常快。
我正在使用Rackspace的专用服务器,100Mb上/下进行此测试,我的ping时间低于服务器50ms。我的本地互联网连接是10Mb,当我从服务器下载东西时,我可以最大化我的互联网连接,因此连接到服务器不是问题。
我正在尝试模仿这个,我尝试使用H264 Streaming Module使用Wowza和Pseudostreaming进行实时流式传输。两者都无法与Youtube提供视频的速度相提并论。
视频测试文件是MP4(h.264),300MB,2小时长,总比特率设置为500kbps,JWPlayer作为视频播放器
Wowza Streaming(RTMP) - 加载然后播放视频速度很快,但速度不如youtube。寻求的速度并不快 大约5-7秒移动到新位置并继续播放视频。
Pseudostreaming H264流模块(HTTP) - 加载视频需要很长时间才能首先下载视频标头 玩它。一个2小时的视频有大约2.5MB的MOOV ATOM(视频 头文件)它需要先播放才能播放。 一旦它开始播放寻求不下载的部分是与之相提并论的 Wowza但不如Youtube快。
以Youtube的速度提供视频需要什么? 我还需要暂停缓冲/下载视频就像Youtube一样,所以像Wowza这样的Real Streaming已经出局了。
使用H264 Streaming模块的伪流程本来不错,因为它在暂停时会缓冲,只是初始加载时间非常长!无论如何,我可以删除初始加载时间?
我的其他选择是什么?我对我可以在服务器中使用的任何其他选项持开放态度。
答案 0 :(得分:0)
YouTube的工作方式不同,他们不断改变工作方式。通过在过去4年中通过线鲨捕获YouTube提要来对此进行逆向工程告诉我,该模式非常动态。分段是一个密钥,双缓冲区,多个缓存服务器和技术,使用客户端机器作为缓冲区渲染,并且播放器的功能很重要。有许多因素可以让YouTube视频快速而流畅。
你可以在某种程度上模仿同样的东西,但建立完全相同的需要大量的努力和基础设施。