1080p RTMP

Dear Max,

We are running well with 720p -> Input RTMP and Output is HLS edge.
On this scenario, if we watch WEBRTC stream from source server (rtmp input) and output HLS edge, the quality is the same.

If we attempt to move to 1080p, including this on cdn_profiles, we have GOOD quality on WEBRTC monitor from source, but on endside to users by HLS, is same as 720p or poor.

What is wrong:

-720p:
video:
width : 1280
height : 720
bitrate : 1500
gop : 50
fps : 30
codec : h264
codecImpl : OPENH264
-1080p:
video:
width : 1920
height : 1080
bitrate : 5000
gop : 50
fps : 30
codec : h264
codecImpl : OPENH264
 

Max

Administrator
Staff member
Good day.
If we attempt to move to 1080p, including this on cdn_profiles, we have GOOD quality on WEBRTC monitor from source, but on endside to users by HLS, is same as 720p or poor.
Please clarify: is the stream quality poor when you play a 1080p stream from HLS edge by profile -1080p using WebRTC (Player example)?
1080p profile bitrate (5000 kbps) seems too high, try to use lower value (2500 kbps seems to be enough). This can affect stream playback quality because more bitrate requires more channel bandwidth.
Also, a stream transcoding to 1080p resolution consumes more CPU resources than to 720p, so Transcoder server tuning may be required:
- Update JDK to 12 or 14 and set up ZGC garbage collector
- Set up jemalloc library usage to allocate native memory (not Java heap)
- Check if CPU is not in powersave mode (balanced or throughput-perfomance recommended). This can be checked and adjusted using tunde-adm utility
- For hardware servers (confirmed for Dell): disable HyperThreading and enable TurboBoost if available. This can help Linux scheduler to evenly spread CPU load by cores
 
Hello Max,

I sent you an e-email with 2 screenshots comparations between WebRTC and HLS from the same stream, at same server.

The WebRTC is clear ... and HLS is blurred.

There is no problems on bandwidth, server has a lot of resources, so, we can not think about proccesor or memory issues.
 

Max

Administrator
Staff member
The WebRTC is clear ... and HLS is blurred.
In both cases, is this a stream transcoded by the same profile?
If yes, provide us SSH access with publishing/playback allowed to Origin, Transcoder and Edge servers, we will check and try to reproduce. You can send SSH credentials using this form.
If no, please check what profile do you use in each case. Please check Transcoder server CPU load per core using htop utility for each profile.
 
Last edited:
Hello Max,

On this case, we just sent you a simple example, without transcoding. If we transcode, the quality is poor than this.
It was only a 1080p streaming from RTMP, watched by WebRTC & HLS direct from server.

I will provide you SSH credentials
 
I just stream 1080p - 3mbps to your demo server now, from Vmix -> RTMP and then watch WebRTC Player -> Perfect and HLS -> Blurred

1603141959667.png

HLS above - blurred - can not read small letters

WebRTC bellow - clear - can read all letters
1603142000133.png
 

Max

Administrator
Staff member
I just stream 1080p - 3mbps to your demo server now, from Vmix -> RTMP and then watch WebRTC Player -> Perfect and HLS -> Blurred
On demo server, the default HLS settings are used. This means any stream to play as HLS is transcoded to 480p. WebRTC is playing without transcoding, video goes with resolution, fps, bitrate and codec unchanged. That's why HLS on demo server has a lower quality comparing to WebRTC.
And, we have no plans to change the demo settings because it is intended to run out-of-the-box (with all default parameters).
Please make sure the following parameters are set on your server from which you're playing HLS
Code:
hls_player_width=0
hls_player_height=0
In this case, HLS will not be transcoded to lower resolution, so you can correctly check the difference between WebRTC and HLS on the same server.
 
Top