我想知道YouTube如何快速播放长片视频,并在移动设备上进行搜索。
这是一个示例视频:https://www.youtube.com/watch?v=eyU3bRy2x44
我可以在5-15秒内在移动设备上正常加载它,我甚至可以通过它进行搜索。
他们使用的是HLS吗?或者他们使用任何其他流媒体技术?他们是否将MP4与高度优化的MOOV Atom放在文件的前面?
我想知道,因为我想在我的某个网站上提供长篇视频,即使从CDN提供,它们也会永远加载。
提前谢谢!
答案 0 :(得分:2)
YouTube在有能力的设备上使用HTML5中的MPEG-DASH。这允许通过媒体进行搜索,并从您选择的那一刻开始。
传统渐进式下载(AKA伪流式传输)对于长视频来说不是一个好选择,因为默认情况下,媒体播放器会尝试下载整个视频,即使您可能会停止播放。 PD也支持寻求,但您的视频应该为此做好准备,您的媒体服务器需要能够正确处理搜索请求。
答案 1 :(得分:2)
即使正常情况下,您的视频也不会花费很长时间才能加载。如果CDN正常工作,则进行HTTP流式传输。
一个可能的问题可能是视频的质量/比特率 - 如果它们仅以高质量或高比特率提供,那么这肯定会导致初始播放延迟。
许多(大多数?)YouTube视频现在支持多种比特率,这允许客户端设备选择最适合当前网络条件的比特率。这种技术称为自适应比特率流,因为您可能已经知道上面提到的HLS。
正如Aquary所提到的,MPEG DASH是一种自适应比特率流格式。它被设计成一个开放的标准 - Apple的HLS,Microsofts的Smooth流媒体和Adobe Dynamic Streaming是其他主要的自适应比特率格式。对于支持自适应比特率流的视频,客户端通常会以低或中等比特率启动,以确保快速启动,然后“升级”。一旦视频播放,网络将支持最高比特率。这有助于快速启动。当您跳到视频的中间时,使用相同的方法来启动'再次从你选择的角度来看。
如果您在视频启动时仔细查看视频,您可以经常看到这一点 - 视频会在比特率逐步提升到更高质量的视频流后,播放质量会提高。