2015-02-07 4 views
-1

Что необходимо для использования SMIL-файла для использования адаптивной потоковой передачи в проигрывателе видео. Я создал файл SMIL в своем приложении wowza, и он создает мои 4 отдельных потока и делает их доступными. Однако я не могу получить мою веб-страницу, которая использует videojs, чтобы правильно воспроизводить файл SMIL. Было бы весьма полезно оценить намеки на это кодирование или найти подходящую документацию.SMIL адаптивная потоковая передача в Videojs

ответ

0

Существует не так много реализаций игроков SMIL. Я уверен, что видел URL-адреса wowza, которые предполагают, что он выведет SMIL как другие форматы, что-то вроде any.smil/manifest.m3u8. Это HLS, который можно играть на мобильных устройствах и в Safari изначально и с videojs-contrib-hls в другом месте.

0

Я знаю, что вопрос старый, но с этим я недавно боролся, поэтому хочу поделиться своим опытом на тот случай, если кому-то это интересно. Мой сценарий очень похож: хотят доставлять адаптивные потоки битрейтов от Wowza до клиентов с помощью видеоjs.

Существует master link, в котором объясняется, как настроить и запустить Wowza Transcoder для потоковой передачи в реальном времени и как настроить потоки адаптивного битрейта с помощью SMIL-файла. Следуя видеоролику, вы можете достичь потока, который использует ABS, но файл SMIL привязан к имени потока, поэтому он не является решением, если у вас есть потоки, которые поступают в Wowza с другого источника медиа-сервера, и которые необходимо перекодировать перед тем, как обслуживать клиентов. В статье упоминается несколько ключевых моментов (например, «Группы имен потоков»), но почему-то вещи не кажутся довольно ясными, по крайней мере, для меня. Так вот некоторые разъяснения от того, что я понял из всех статей, которые я читал, и то, что я сделал для достижения ABS:

  • Вы можете достичь ABS в Wowza либо с SMIL файлов или с потоком Имя группы (NGRP). NGRP возвращается к блоку потоков, который определен в шаблоне Transcoder, который можно воспроизводить с использованием потоковой передачи с несколькими битрейтами (динамически) (< - это то, что я использовал). И файлы SMIL используются для создания «статического» списка потоков для потоковой передачи данных с несколькими битрейтами. Если вы используете Wowza Origin-Edge Delivery, вам понадобится файл .smil, потому что NGRP не перенаправляется на край. (Источник для всей этой информации: here).
  • Если вам нужен файл SMIL, вам, вероятно, нужно создать новый для каждого потока, и, вероятно, вы хотите сделать это автоматическим способом, поэтому наилучшим способом будет HTTP-запрос (в ссылке выше него объясняется, как достичь этого).
  • В случае, если вы можете жить с NGRP, все немного проще:

    1. Вам необходимо включить Wowza Transcoder (это довольно легко и шаги в видео я упоминаю выше).
    2. Вы должны создать свой собственный шаблон Transcoder с различными пресетами потока, которые вы хотите доставить, в качестве примера вы можете проверить стандартные, которые уже есть. Чем больше настроек вы добавите, тем больше работы Wowza нужно будет делать всякий раз, когда поступает поток, поскольку для создания каждого пресета, который вы определили, потребуется создать новый поток.
    3. Теперь, когда мы генерируем NGRPs. В вашем шаблоне Transcoder вы можете генерировать столько NGRP, сколько хотите (чтобы уточнить: это похоже на группы потоков, которые вы сможете установить в своем видеоплеере ваших клиентов. Каждая NGRP содержит потоки, в которых будет доступно видео для использования при выполнении адаптивного потока битрейта).Например, это NGRPs по умолчанию:

enter image description here

Если вы играете ngrp «_mobile» в клиентах видеоплеера, алгоритм ABS в плеере будет иметь возможность адаптироваться к воспроизводить потоки 240p или 160p на основе возможностей клиента.

Итак, представьте, что у вас есть эти два NGRP. Для того, чтобы играть их в videoJS, вам нужно будет установить источник:

http://[wowza-ip-address]:1935/<name-of-your-application>/ngrp:myStream_all/playlist.m3u8 

или

http://[wowza-ip-address]:1935/<name-of-your-application>/ngrp:myStream_mobile/playlist.m3u8 

... в зависимости от количества параметров, которые вы хотите предоставить клиентскому игроку для использования ABS. (Например: если ваши цели - старые мобильные устройства, вы, вероятно, просто хотите предложить пару потоков с низким битрейтом). (Это будет в случае, если вы доставляете поток HLS. Если в другом формате расширение будет меняться, например, если вы отправляете поток DASH, у вас будет «/manifest.mpd» вместо «плейлист. m3u8 ").

Это все, есть также очень полезная ссылка в документации video.js, объясняющая, как это происходит при переключении битрейта: here.

Надеюсь, это поможет кому-то! По крайней мере, прояснить ситуацию! :)

Смежные вопросы