Versions Compared

Key

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

Транскодинг видеопотока включается автоматически в одном из следующих случаев:

1. Кодеки стримера и плеера не совпадают по имени.
Например, стример отправляет H.264, плеер пытается играть VP8.

2. Кодеки H.264 отличаются по параметру packetization-mode
Например стример отправляет packetization-mode=1 (по умолчанию), а плеер явно указывает packetization-mode=0
Ситуация достаточно редкая, т.к. почти все устройства поддерживают packetization-mode=1

3. Разрешение Явно указано разрешение плеера явно указано.
Пример:

Code Block
languagejs
themeRDark
session.createStream({name:"stream1", constraints:{audio:true, video:{width:640,height:480}}}).play();

Если плеер явно указал желаемое разрешение, то транскодинг включится даже в том случае, когда указанное плеером разрешение совпадает с тем, что указал стример. Так сделано, поскольку WebRTC браузер может менять разрешение видео во время публикации. Для того, чтобы привести поток к разрешению, указанному плеером, необходимо транскодировать поток.

4. Битрейт плеера явно указанЯвно указан битрейт плеера.

Пример

Code Block
languagejs
themeRDark
session.createStream({name:"stream1", constraints:{audio:true, video:{bitrate:300}}}).play();

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

Транскодинг может быть принудительно отключен на сервере при помощи параметра в файле flashphoner.properties

Code Block
languagebash
themeRDark
disable_streaming_proxy=false