Перейти к основному содержимому

Стриминг

Стриминг (потоковое вещание) - трансляция видео потока в прямом эфире с общим или закрытым дотупом к просмотру зрителями. При этом выходной видеопоток может быть доступен зрителям в разных протоколах и качествах.
Для преобразования исходного видео в разные форматы применяется транскодирование на лету перед передачей потока зрителям.

Объект stream

Для управления услугой в системе создается объект stream. Основные параметры объекта:

  • протокол выходного потока: llhls, webrtc
  • список разрешений (для выбора качества в плеере): 480p, 720p, 1080p, 1440p, bypass(без транскодирования)

Подключение

При подключении необходимо указать желаемые выходные параметры потока: протоколы и разрешения.
После подключения будут сгенерированы ссылки для стримера и зрителей.

Для стримера:

  • rtmp://<uuid-1>.stream.arviol.com:1935/<uuid-2>/stream-key
  • rtmps://<uuid-1>.stream.arviol.com:1940/<uuid-2>/stream-key

Для зрителей:

  • llhls - https://<uuid-1>.play.arviol.com:443/<uuid-2>/stream-key/llhls.m3u8
  • webrtc - wss://<uuid-1>.play.arviol.com:3334/<uuid-2>/stream-key/webrtc

Публикация стрима

Существует большое количество различных приложений для публикации стримов.
Рекомендуем воспользоваться Open Broadcaster Software. Это популярное бесплатное приложение с открытым исходным кодом для записи видео и потокового вещания.

В настройках потока приложения укажите следующие параметры: Настройки OBS

Рекомендуемые настройки выходноко энкодера в OBS: Настройки энкодера OBS

Просмотр стрима

Для просмотра публикуемого стрима можно воспользоваться любым удобным онлайн плеером, вставив в поле для url ссылку для зрителей без изменений.

llhls-поток:

webrtc-поток:

Пример ссылки в плеере

Подписанные ссылки

Подписанные ссылки (signed policy) необходимы для управления доступом к стримам как со стороны стримера, так и со стороны зрителя.

Примеры случаев использования подписанных ссылок:

  • разрешить публикацию/просмотр стрима только с указанного IP-адреса
  • ограничить время жизни ссылки, чтобы защитить ее от нежелаемого распространения
  • указать время активации ссылки, чтобы зрители раньше времени не могли увидеть транслируемый видеопоток
  • прочие варианты, в том числе комбинация разных ограничений

Для каждого созданного стрима можно указать свой набор параметров ограничений.
Чтобы сгенерировать подписанные URL необходимо указать конкретный стрим и набор правил, по которым будут сгенерированны URL.

  • url_expire (datetime): Время истечения срока действия URL-адреса.
  • url_activate (datetime, optional): Время, когда URL-адрес станет активным
  • stream_expire (datetime, optional): Время истечения срока действия стрима
  • allow_ip (str, optional): Диапазон IP-адресов (CIDR), с которых будет доступен URL-адрес

Результатом будут ссылки следующего вида:

  • rtmp://<uuid-1>.stream.arviol.com:1935/<uuid-2>/stream-key?policy=eyJ1xfZX&signature=tBmYnA
  • rtmps://<uuid-1>.stream.arviol.com:1940/<uuid-2>/stream-key?policy=eyJ1xfZX&signature=fod0iB
  • https://<uuid-1>.play.arviol.com:443/<uuid-2>/stream-key/llhls.m3u8?policy=eyJxfZXhJ&signature=NALnlHMqy
  • wss://<uuid-1>.play.arviol.com:3334/<uuid-2>/stream-key/webrtc?policy=eyJ1c1MH0&signature=wMMPy-LBFal2E

Рестриминг

Рестриминг (push publishing) это отправка входящего потока на сторонние стриминговые платформы, например: Twitch, Youtube, VKVideo и т.д.

При включении/выключении рестриминга в системе создаются/удаляются объекты push_publisher. Если для объекта stream запущен рестриминг, то при отправке потока на сервер Arviol он автоматически будет дополнительно отправлен в указанный пользователем сторонний сервис. Таким образом, стрим для зрителей будет доступен и по ссылке, сгенерированной при создании объекта stream, и, например, на платформе Twitch.

Для одного объекта stream может быть запущено несколько рестримов одновременно.

примечание

При остановке отправки исходного потока на сервер Arviol объект push_publisher не удаляется из системы. Это значит, что при повторном запуске основного стриминга автоматически будет запущен и рестриминг по ранее заданным параметрам.

Запись стрима

При включении записи стрима видео сохраняется в исходном качестве в виде фрагментов длиной 1 минута каждый и загружается в файловое хранилище. Видео доступны для скачивания в течение 1 месяца после загрузки. Все записи находятся в приватном доступе, ссылки на них может получить только владелец стрима.

примечание

Загрузка записей в файловое хранилище происходит с задержкой.

Запись стрима может быть включена или остановлена в любое время.