Возможно ли однопотоковое аудио (или видео) через Chrome WebRTC, когда вы удаляете строки a = ssrc из SDP?
Я попытался отфильтровать строки a = ssrc (с помощью кода ниже), но однопотоковое аудио не сработало. Я пробовал также однопотоковое видео и переименование вместо удаления строк с тем же результатом. Я изменяю как предложения, так и ответы на SDP. Интересно, что эта фильтрация работает, когда вы пытаетесь отправить SDP как с аудио, так и с видео - в таком сценарии будет работать только звук. Однако у меня были проблемы с повторным согласованием в таком сценарии в нашем приложении, поэтому, вероятно, это недопустимое решение.
Вы можете увидеть минимальный пример с одним потоком аудио / видео в этом репо: https://github.com/Tev-work/webrtc-audio-demo.
Если возможно, не могли бы вы предоставить минимальный пример кода с работающим звуком? Что должна делать функция modifySdp (в public / client.js), предпочтительно с использованием репозитория выше?
В настоящее время он изменяет sdp с помощью этого кода:
sdp = sdp.replace(/a=ssrc/g, 'a=xssrc');
sdp = sdp.replace(/a=msid-semantic/g, 'a=xmsid-semantic');
sdp = sdp.replace(/a=mid/g, 'a=xmid');
sdp = sdp.replace(/a=group:BUNDLE/g, 'a=xgroup:BUNDLE');
Если это невозможно, знаете ли вы, было ли такое ограничение где-то официально заявлено (пожалуйста, укажите ссылку), или оно просто в какой-то момент стало неработоспособным? Похоже, что это работало раньше (около M29, см. Комментарии здесь https://bugs.chromium.org/p/webrtc/issues/detail?id=1941 - не говоря уже о том, что это не должно было работать).
Мотивация: иногда мы отправляем SDP через SIP PBX, которые иногда отфильтровывают линии SSRC. Поддержка нескольких потоков в таких ситуациях, очевидно, исключена (может быть, с некоторыми потоками взлома на стороне сервера?), Но поддержка хотя бы аудио только для таких сценариев была бы полезна для нас.