Нисходящая совместимость пересмотра условий webrtc

#video-streaming #webrtc

#потоковое видео #webrtc

Вопрос:

Мне интересно, как реализовать совместное использование экрана (или любую другую задачу, в которой трек добавляется к одноранговому соединению после завершения первоначального предложения / ответа). Я вижу 2 возможности:

  1. В «современном webrtc» это, по-видимому, выполняется с помощью pc.требуется согласование и возможный откат, если оба одноранговых узла попытаются сделать предложение одновременно (см. https://w3c.github.io/webrtc-pc/#perfect-negotiation-example ). Но откат только недавно поддерживается должным образом в Chrome и Firefox, а вовсе не в других браузерах, и, похоже, он также не охвачен adapter.js .
  2. Я предполагаю, что старый способ заключался бы в том, что один одноранговый узел всегда выполняет предложение («одноранговый узел предложения»), и если другой одноранговый узел добавит трек позже, ему нужно будет попросить одноранговый узел предложения (например, с помощью сигнализации) отправить новое предложение (для предотвращения гонок).). Это кажется чрезмерно сложным, а также увеличивает задержку, если предложение должно быть «запрошено» с помощью сигнализации.

Итак, мой вопрос: есть ли третий вариант, который я пропустил, или я могу как-то сделать возможность 1) совместимой с понижением?

PS Я знаю, что вы можете использовать replaceTrack и вам не нужно пересматривать условия, но это работает только в том случае, если у вас уже была видеодорожка, которую вы можете заменить.

Ответ №1:

Это называется сигнальным бликом. Идеальное согласование пытается избежать этого, но, как вы говорите, оно реализовано не везде и не является полизаполняемым. Третья альтернатива заключается в том, что сторона, создающая новое предложение, не устанавливает его сразу в качестве локального описания, а ожидает либо 1 / получения ответа, либо 2 / получения конфликтующего предложения, и в этом случае обработка бликов (обычно число в качестве прерывателя связи) определяет, имеет ли это предложение более высокий приоритет.