...
Streaming mediadata are transferred with UDP packets. Those packets can be dropped, for example if server does not have enough time to parse packet queue, that leads to picture quality loss and freezes. To escape this it is necessary to tune UDP sockets buffers with the following settingsin settings in flashphoner.properties file
...
Code Block |
---|
|
dropwatch -l kas
>start |
Channel load optimization
Users' playback picture quality depends on bitrate: the higher the bitrate, the higher the quality. However, the higher the bitrate, the higher data transfer channel load and, if the bandwidth between the server and clients is limited, there is a possibility that the channel will be fully loaded. This leads the bitrate dropping and a sharp decline in quality.
In this regard, it is necessary to limit the bitrate to ensure sufficient picture quality with an acceptable channel load.
Publisher bitrate limiting
To reduce the load to the channel from publisher to server, maximum and minimum bitrate values in kbps may be set in publisher script with JavaScript API
Code Block |
---|
|
session.createStream({
name: streamName,
display: localVideo,
constraints: {
video: {
minBitrate: 500
maxBitrate: 1000
}
}
...
}).publish(); |
Server bitrate limiting
Minimum and maximum bitrate values in bps on server may be set with the following parameters in flashphoner.properties file
Code Block |
---|
|
webrtc_cc_min_bitrate=500000
webrtc_cc_max_bitrate=1000000 |
To exclude fast bitrate rise bu=y browser, the following parameter should be set
Code Block |
---|
|
webrtc_cc2_twcc=false |
Stream decoding on demand only must be switched on to reduce server load:
Code Block |
---|
|
streaming_video_decoder_fast_start=false |