Poor video quality in mixer output

Hi,

Please find the image below on twitch platform as the live stream output from flashphoner mixer. We have good server configuration m5.8xlarge aws server. In the properties config added video_encoder_max_threads=3 and h264 encoder settings.

We are using https://flashphoner.com/webrtc-video-conferencing/ and than publishing webrtc video conference as rtmp to twitch , client video resolution is 1280 * 720 at 30 fps
 

Attachments

Max

Administrator
Staff member
Good day.
Seems like the participant at right publishes a low bitrate. Please set a proper bitrate and resolution via constraints:
Code:
function publishLocalMedia(room) {
    var constraints = {
        audio: true,
        video: {
              width: 320,
              height: 240,
              minBitrate: 300,
              maxBitrate: 500
        }
    };
    var display = document.getElementById("local");
    room.publish({
        display: display,
        constraints: constraints,
    }).on(STREAM_STATUS.PUBLISHING, function(stream) {});
}
 
Hi,

var constraints = {
audio: true,
video: {
width: 1280,
height: 720,
frameRate: 30,
minBitrate: 2500,
maxBitrate: 6000,
},
};
This are the constraints
 

Max

Administrator
Staff member
width: 1280,
height: 720,
frameRate: 30,
minBitrate: 2500,
maxBitrate: 6000,
Thi values may be too big for publishers channel. This can lead to resolution and bitrate drop. Please try to use lower resolution and bitrate.
 
Hi,
We have sufficient bandwidth to publish 720p video stream. Please check the properties file and let us know if in flashphoner config has to be changed
 

Max

Administrator
Staff member
Hello

Make sure simple streams publishing and playing without issues

This is MediaDevices sample. You can open the same sample on your host.

Here you can publish and play stream on the same page and check stream quality.
- change resolution, bitrate, fps
- change detail, motion
- change TCP/UDP

It seems feeding (publishing) streams have packet lost in your case. These artifacts generally appear when high packet lost on the channel.
You can get rid of high packet lost if you switch to TCP or if you reduce stream resolution and bitrate.

TCP https://docs.flashphoner.com/display/WCS52EN/Publishing+and+playing+stream+via+WebRTC+over+TCP
 
Hi,

We want to keep 720p resolution, upto 10 participants we want to connect in conference, what should be the size of the properties mentioned below
ice_tcp_send_buffer_size=1048576
ice_tcp_receive_buffer_size=1048576
ice_tcp_channel_high_water_mark=52428800
ice_tcp_channel_low_water_mark=5242880
 

Max

Administrator
Staff member
We want to keep 720p resolution, upto 10 participants we want to connect in conference,
In this case, every participant must publish 1 stream and play 9 streams. Suppose you publish 720p with bitrate 2 Mbps. In this case, every participant must have a channel 2 * 10 = 20 Mbps without packet loss.
To reduce the channel load, we recommend MCU mixer. Thi feature requires a lot of server CPU and RAM resources, but every participant will publish 1 stream and play 1 stream, so it required only 2 * 2 = 4 Mbps.
To prevent packet loss, use TCP transport as recommended above.
what should be the size of the properties mentioned below
This is the internal buffers, you should not change those values.
 
Hi,
Thanks. We have created aws instance , we have mapped it to domain as well. We submitted certificate file on the link as well. Using webinterface we uploaded the certificate file, it is showing null
 

Max

Administrator
Staff member
Private key file content should look like this:
Code:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Please check if your file certificate.pem that you've uploaded as private key, is a private key file.
If yes, and yo still can not import certificates, please provide the following:
1. SSH access to the server (and access to its web interface)
2. All the certificate related files (certificate, CA, private key)
Please use this private form.
 

Max

Administrator
Staff member
We checked yor certificate files.
As we supposed above, certificate.pem des not contain a private key, but publick key and certificate only:
1654757841011.png

You should get a private key file from your SSL certificate provider. You can't import a certificate without it.
 
Top