Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeRDark
rtp_activity_video=false

Контроль наличия медиа трафика работает только при публикации, но не при проигрывании потоков.

Отключение контроля активности видео и аудио дорожек по имени потока

В сборке 5.2.1784 добавлена возможность отключить контроль активности видео и аудио дорожек в потоках, имя которых совпадает с регулярным выражением

Code Block
themeRDark
rtp_activity_audio_exclude=stream1
rtp_activity_video_exclude=stream1

Это может быть полезно для потоков, трафик в которых может останавливаться на длительное время, например, для потоков с экрана или окна приложения:

Code Block
themeRDark
rtp_activity_audio_exclude=.*-screen$
rtp_activity_video_exclude=.*-screen$

В данном случае контроль активности не будет применяться к потокам с именами conference-123-user-456-screen 

Если браузер Chrome публикует пустое видео при занятой веб-камере

...

Code Block
languagejs
themeRDark
session.createStream({
    name: streamName,
    display: remoteVideolocalVideo,
    constraints: {
        audio: {
            stereo: true
        },
        ...
    }
    ...
}).publish();

...

Code Block
languagejs
themeRDark
    var constraints = {
        audio: {
            echoCancellation: false,,
            googEchoCancellation: false
        },
        ...
    };
    ...
    navigator.getUserMedia(constraints, function (stream) {
        ...
    googEchoCancellation: false}, reject);

При включенном эхоподавлении Chrome публикует моно звук, даже если в настройках кодека Opus заданы параметры стерео.

Обход блокировки шифрованного UDP трафика

В некоторых случаях шифрованный UDP медиатрафик может блокироваться на стороне провайдера. При этом публикация WebRTC потока с использованием UDP транспорта не будет работать и завершится с ошибкой Failed by RTP activity . В таких случаях рекомендуется использовать TCP транспорт на стороне клиента

Code Block
languagejs
themeRDark
session.createStream({
        }name: streamName,
    display: localVideo,
   ...
    };transport: "TCP"
    ...
    navigator.getUserMedia(constraints, function (stream) {
        ...
    }, reject);

...

}).publish();

Также можно использовать внешний или встроенный TURN сервер либо RTMP или RTSP для публикации потока.

Известные проблемы

1. Если веб-приложение расположено внутри iframe элемента, публикация видеопотока может не пройти.

...