Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Video stream transcoding will be enabled automatically in one of the following cases:

1. Streamer and player codecs do not match by name.
For example, streamer publishes H.264 stream and player tries to play VP8.

2. H.264 codecs are differ by packetization-mode parameter
For example, streamer publishes stream with packetization-mode=1 (default value) and player explicitly sets packetization-mode=0. The situation is quite rare, because almost all  players support packetization-mode=1

3. Player resolution is explicitly set.
Example:

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

If the player explicitly sets the resolution desired, transcoding will be enabled even when the player resolution exactly matches the publisher one. This is done because WebRTC browser can change video resolution while publishing stream. To adapt the stream to the resolution that is specified by player, the stream should be transcoded.

4. Player bitrate is explicitly set.

Example

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

In this case transcoder will be enabled to encode the stream to the bitrate specified.

Besides, transcoding can be forcibly enabled on server using this parameter in flashphoner.properties file

disable_streaming_proxy=true

Transcoding dramatically increases the server resources consumption (CPU cores). Therefore, use it carefully!

  • No labels