阻止来自YouTube的DASH视频流

时间:2017-01-18 20:20:05

标签: youtube video-streaming mp4 mpeg-dash roku

我有一个Roku应用程序,其中一些视频来自Youtube。我没有检索视频的问题,但如果我选择带有HD的视频,它想要自动流式传输Dash版本。如果我强制使用非HD版本但是想要观看SD版本,我可以阻止Dash ..

所以我想知道有没有办法强制mp4流与Dash流相反?

我已经读过XP不玩Dash,所以我尝试使用Windows NT 5.1作为用户代理,但是没有用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

DASH和MP4不是互斥的 - 它们在视频传输中执行不同的功能。

简单来说,您可以这样查看:

  • 相机捕捉帧 - '原始视频'
  • “原始视频”以某种方式进行编码以存储它,通常以平衡视频大小与质量的方式。然后,视频有时会被所使用的编码器(编解码器)引用 - 例如,如果使用h.264编解码器,视频可能被称为h.264视频。
  • 视频流,即构成视频的所有单独帧,被打包到容器中。该容器可能包含视频和音频流,甚至可能包含多个视频流。然后,视频通常以容器格式引用 - 例如,如果上面的h.264编码视频打包到MP4容器中,它通常被称为MP4视频,即使MP4'容器'可能包含多个视频和音轨。
  • 为了提高视频流的质量,视频还可以使用像MPEG DASH这样的流媒体协议。这里的理论很简单:视频的多个副本以不同的比特率创建,因此具有不同的大小和质量。这些副本中的每一个被分解成例如10秒的块。创建索引文件,称为清单,并包括指向每个视频和音频流的指针。播放视频的客户端(例如浏览器)在需要时请求每个10秒的块。它根据当前的网络条件选择从哪个视频副本中选择下一个块。这意味着如果网络良好,它可以切换到下一个块的更高质量的副本,如果有问题,它可以切换到较低质量的块。如果我们将由h.264编码的示例视频放入MP4容器中,我们现在可以使用DASH流格式打包它。像这样打包的视频通常被称为DASH视频。

以上是一个简化的概述,但它希望强调您的视频可能实际上是MP4和DASH,实际上通常是。

作为补充说明,不同的设备可能支持不同的编解码器(甚至编解码器配置文件),打包格式和流格式 - 例如iOS设备在编写时往往支持HLS而不是DASH。随着设备和标准的发展,这种情况经常发生变化,这也是找到可在所有设备和客户端上播放的单一格式的原因之一 - 因此服务器通常会以多种编解码器和流格式提供相同的视频以支持尽可能多的设备和客户。