Может ли зритель изменять качество входящего видео в webrtc? - PullRequest
0 голосов
/ 27 октября 2018

Рассмотрим P2P-видеоконференцию с WebRTC, где издатель осуществляет потоковую передачу в HD 1024x768, а зритель присоединяется к этому сеансу и хочет просмотреть видео, скажем, 320×240, чтобы сэкономить пропускную способность.

Чтобы датьПо анологии это должно быть похоже на Quality вариант youtube.

  1. Возможно ли это в WebRTC?
  2. Если да, реализована ли эта функция в любом из ( agora )| tokbox | видё | twilio )

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Я работаю в TokBox.

Что касается реализации этого с OpenTok, то да, это возможно.Мы поддерживаем масштабируемое видео (simulcast) для «маршрутизируемых» сеансов, проходящих через наш SFU.Это означает, что вы можете отправить разрешение HD от издателя, а затем подписчики могут подписаться с разными разрешениями в зависимости от их пропускной способности.Вы также можете указать предпочтительное разрешение, используя setPreferredResolution API, который позволит вам использовать более низкое разрешение, например, если.Вы знаете, что отображаете подписчика только в небольшом размере.

0 голосов
/ 10 ноября 2018
  • единственный способ изменить разрешение в режиме p2p, это либо (а) разорвать одноранговое соединение, изменить ограничения, чтобы запросить другое разрешение с камеры, и установить новое соединение, (b) пересмотреть условия или (c) заменить дорожку на стороне отправителя.(c) обычно предпочтительнее, так как не вызывает нового рукопожатия, которое потенциально может привести к видимым сбоям при изменении разрешения.

  • Хороший способ сделать это - использовать медиа-серверкоторые получают несколько разрешений исходного потока и только ретранслируют одно в зависимости от пропускной способности приемника.Это может быть достигнуто двумя способами: с помощью кодека SVC, такого как VP9, ​​AV1, .... или, если кодек SVC недоступен, с помощью одновременной передачи, т.е. несколько раз используйте один и тот же простой кодек с разным выходным разрешением.Не каждый браузер поддерживает это сегодня.

  • Большинство поставщиков предоставляют эту опцию, если вы используете их медиа-сервер в цикле.Это будет сделано из коробки в их родном SDK, в котором они контролируют весь стек, а поддержка Интернета, в свою очередь, будет зависеть от самой поддержки браузера.

  • agora делаетне используйте webrtc на самом деле.

  • Vidyo является экспертом по кодекам SVC, но заблокирован реализациями браузера.Я не проверял в последнее время.

  • Адам рассказал вам о Tokbox, у которого было достаточно большинство возможных опций в течение достаточно долгого времени.

  • Я не в курсе о предложении twillio.

0 голосов
/ 28 октября 2018

Возможно ли это в WebRTC?

Каждый партнер будет иметь процесс согласования, прежде чем он сможет получить какой-либо поток. Отправители, уже находящиеся на этом канале, будут знать, что они должны изменить свои профили потока во время этого процесса.

Если случится, что кому-то уже в этом канале не хватает пропускной способности, модуль MediaOptimization отправителя узнает об этом через отправленный RTCP-приемник и отрегулирует битрейт.

Если да, реализована ли эта функция в любом из (agora | tokbox | vidyo | twilio)

Насколько я знаю, все, что они делали в Интернете, основаны на WebRTC (очевидно, у них есть редкий выбор).

Их собственные SDK могут иметь лучшее качество при переключении разрешения, поскольку они могут использовать такие технологии, как SVC, многопотоковость и т. Д.

...