实现动态视频流的方法

Methods to achieve dynamic video streaming

我一直在阅读关于 Netflix 等流媒体服务如何在不同比特率之间动态切换以适应一般带宽差异、即时启动和快进的文章。

  1. 所有现代视频播放器都可以无缝显示连续的视频片段而没有任何明显的故障,就像它们是单个文件一样吗?这是何时以及如何引入的?
  2. 视频片段的理想长度是多少?我已经看到使用了 10 秒,但如果播放是无缝的,这不能减少到仅仅一秒(每个片段都是一个 GOP)吗?
  3. 是否有其他技巧可用于近似将完整视频文件存储在本地硬盘上的用户体验?
  1. 是的,我认为所有现代视频播放器都能够在用户不注意的情况下显示连续片段。只需尝试一个 youtube 视频,右键单击 -> 书呆子的统计信息,您应该会看到 "DASH: yes"。自适应 HTTP 流式传输于 2010 年左右推出(Apple HLS 2009、Microsoft smooth streaming 2010 和 MPEG-DASH 2011)。

  2. 我认为视频片段的长度没有确定的答案。例如,您可以查看此博客 post:https://bitmovin.com/mpeg-dash-hls-segment-length/ 提到了 1 到 15 秒之间的典型片段长度。

  3. 除了没有流式传输 stallings/buffer 下溢(这对用户来说非常烦人),视频的快速启动也很重要,并且质量切换不要太多.