YouTube 如何将长视频流式传输到移动设备

How Does YouTube Stream Long-Form Videos to Mobile

我想知道 YouTube 如何在移动设备上通过搜索快速播放长视频。

这是一个示例视频:https://www.youtube.com/watch?v=eyU3bRy2x44

我可以在 5-15 秒内在移动设备上很好地加载它,我什至可以搜索它。

他们在使用 HLS 吗?或者他们是否使用任何其他流媒体技术?他们使用的是 MP4 和高度优化的 MOOV Atoms 放在文件的前面吗?

我想知道,因为我想在我的网站之一上提供长视频,即使从 CDN 提供,它们也需要很长时间才能加载。

提前致谢!

YouTube 在支持此功能的设备上使用 HTML5 中的 MPEG-DASH。这允许通过媒体搜索并从您 select.

的那一刻开始

对于长视频,传统的渐进式下载(又名伪流式传输)不是一个好的选择,因为默认情况下,媒体播放器会尝试下载整个视频,即使您可能会停止播放。 PD 也支持搜索,但您的视频应该为此做好准备,并且您的媒体服务器需要能够正确处理搜索请求。

如果 CDN 正常工作,即使使用 'normal' HTTP 流,您的视频加载时间也不应该很长。

一个可能的问题可能是您的视频的 quality/bit 速率 - 如果它们仅以高质量或高比特率提供,那么这肯定会导致初始播放延迟。

许多(大多数?)YouTube 视频现在将支持多种比特率,这允许客户端设备 select 使用最适合当前网络条件的比特率。这种技术称为自适应比特率流式传输,您可能已经知道上面提到的 HLS。

正如 Aquary 所提到的,MPEG DASH 是一种自适应比特率流媒体格式。它被设计成一个开放标准——Apple 的 HLS、Microsoft 的 Smooth streaming 和 Adob​​e Dynamic Streaming 是其他主要的自适应比特率格式。

对于支持自适应比特率流式传输的视频,客户端通常会以低比特率或中等比特率启动以确保快速启动,然后 'step up' 到视频播放后网络支持的最高比特率正在玩。这有助于快速启动。当您跳到视频的中间时,同样的方法用于从您 selected 的点再次 'start'。

如果您在视频启动时仔细观察它,您经常会看到这种情况 - 播放质量会在短时间内提高,因为视频会逐步提高比特率以达到更高质量的流。