Пересмотр WebRTC между Chrome и Firefox

Я могу установить соединение WebRTC между Firefox и Chrome, но повторное согласование между Firefox-Chrome не работает должным образом.

Нет проблем при пересмотре пары Chrome-Chrome и пары Firefox-Firefox.

С парой Firefox-Chrome, когда я начинаю пересмотр с Chrome после удаления или добавления дорожки, пересмотр проходит успешно и onremovestream или же onaddstream обратные вызовы запускаются на Firefox правильно.

Но когда я начинаю пересмотр с Firefox после удаления или добавления трека, используя pc.removeTrack или же pc.addTrack, повторное согласование прошло успешно без каких-либо ошибок. Но в Хроме onremovestream или же onaddstream обратные вызовы не запускаются. Когда я получаю MediaStream с помощью pc.getRemoteStreams Я вижу, что идентификаторы треков меняются после пересмотра, но MediaStream не работает, когда я пытался его воспроизвести.

Я заметил одну странную вещь: фактический идентификатор локальной дорожки из Firefox не совпадает с идентификатором удаленной дорожки в Chrome (даже до пересмотра).

Поддерживают ли Chrome и Firefox пересмотр в браузерах (в основном от Firefox до Chrome)?

Кто-нибудь добился пересмотра между Firefox и Chrome?

Есть ли решение этой проблемы?

1 ответ

Это не полное решение, а причина, по которой это происходит. Я рекомендую опубликовать решение, если вы найдете его.

Есть два плана UnifiedPlan и PlanB для нескольких потоков в WebRTC. PlanB был удален, и UnifiedPlan становится стандартом. Firefox реализовал UnifiedPlan, но Chrome все еще имеет реализацию PlanB. Об этом есть ошибка Chromium.

Для этого был написан polyfill, spd-interop. Но у этого полифилла есть ограничение, он поддерживает только пересмотр с Chrome на Firefox.

Если я найду решение этой проблемы до того, как Chrome решит проблему, я обновлю ответ.

Другие вопросы по тегам