2017-01-18 11 views
0

У меня есть приложение Roku, и некоторые видеоролики поступают из Youtube. У меня нет проблем с извлечением видео, но если я выберу видео с HD, он захочет автоматически передать версию Dash. Я могу предотвратить Dash, если я принуждаю версию без HD, но кто хочет посмотреть версию SD.Предотвращение потоковой передачи видео DASH с YouTube

Я читал, что XP не играет в Dash, поэтому я попытался использовать Windows NT 5.1 в качестве пользовательского агента, но это не сработало.

Любая помощь была бы принята с благодарностью.

ответ

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 на момент написания. Это часто меняется по мере развития устройств и стандартов и является одной из причин, по которым сложно найти один формат, который будет воспроизводиться на всех устройствах и клиентах - по этой причине серверы часто будут предоставлять одно и то же видео в нескольких кодеках и потоковых форматах для поддержки как можно больше устройств и клиентов.