logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
RichDanby  
#1 Posted : Wednesday, December 20, 2023 6:35:51 AM(UTC)
RichDanby

Rank: Advanced Member

Groups: Registered
Joined: 2/23/2019(UTC)
Posts: 132
United Kingdom

Thanks: 15 times
Was thanked: 26 time(s) in 24 post(s)
Interesting video from LiveX comparing streaming quality from vMix and OBS: -


It seems vMix hardware encoded output is much worse than OBS in their stress test. I've just ran a similar test and got similar results.

It seems to stem from vMix using the llhq NVENC preset where as OBS lets you pick from the newer p1-p7 presets - for their test LiveX used the p7 preset in OBS.

I found a migration guide that says
Quote:
In general, it is strongly recommended to use the newer presets and NVENCODE API settings based on desired performance/quality trade-off. It is highly likely that your application may benefit from better quality encoding or higher performance by directly using the new NVENCODE presets, as the new APIs provide much more flexibility than earlier and are easy to understand.

and it suggests replacing llhq with p4, p5 or p6 with lookahead. I compared vMix to OBS using p4 and OBS still looked better. Using p7 on a GTX1060 laptop showed no performance issues.

Could this be looked into? Though it is less noticable on less taxing content, it seems a waste to leave quality behind when, hopefully, it is a config string change and some testing.
admin  
#2 Posted : Wednesday, December 20, 2023 2:16:45 PM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,157
Man
Location: Gold Coast, Australia

Was thanked: 4161 time(s) in 1494 post(s)
Hi Rich,

We can certainly look at making the P1-P7 options available in vMix 27 for advanced users, but there are a few important things to note below:

1. As you noted, LLHQ is the equivalent to P4 and provides a good balance between quality and performance, especially for vMix where you can have multiple different hardware encodes
all running at the same time using the same NVENC encoder.

2. I am interested in seeing what video sources you used in your own tests, particularly when comparing P4, as in the vast majority of situations outside of gaming, the different
is imperceptible.

3. In my opinion confetti tests are a poor choice for testing an encoder. Confetti is just "random noise" which is impossible to compress well even on the highest possible quality AV1.
All this ends up comparing is how each encoder "looks" when the compression breaks down, and is just up to personal preference on what type of break down looks the most pleasing to the eye.

Regards,

Martin
vMix
thanks 1 user thanked admin for this useful post.
eduardocfs on 1/2/2024(UTC)
RichDanby  
#3 Posted : Wednesday, December 20, 2023 7:45:30 PM(UTC)
RichDanby

Rank: Advanced Member

Groups: Registered
Joined: 2/23/2019(UTC)
Posts: 132
United Kingdom

Thanks: 15 times
Was thanked: 26 time(s) in 24 post(s)
Hi Martin

Thanks for the reply.

1. Comparing P4 from OBS with LLHQ from vMix, OBS looked better, but, from a very quick test, it did seem like P4 caused more load than LLHQ on the encoder - so I thought that might be your reasoning. Probably needs more testing with just ffmpeg to be fair.

2. I was using LiveX's test video download and focused on the first 'test card' scene where a fading blue box in the top right seem to be particularly poorly handled by the encoder. I know this is a stress test and not really representative of typical usage but I started trying to recreate their test as I was surprised by their results. My results didn't seem as bad as theirs, I have 27beta installed on the machine so maybe later ffmpeg has helped a bit? I was sending output to ffplay as an rtmp server rather than YouTube for speed so that is probably some of the difference.

3. I totally agree about confetti and other stress test. I know this could be optimising for situations that rarely happen, but if it requires little work and might make the encoding visually better in some moments it seems worth a look (and it might stop some people saying OBS is better than vMix).

Thanks again for the response and Merry Christmas.
RichDanby  
#4 Posted : Monday, January 1, 2024 10:21:20 PM(UTC)
RichDanby

Rank: Advanced Member

Groups: Registered
Joined: 2/23/2019(UTC)
Posts: 132
United Kingdom

Thanks: 15 times
Was thanked: 26 time(s) in 24 post(s)
Thank you for adding the Presets to the latest beta.

I've given it a test and it does improve the quality - though it also feels like the LLHQ quality is better than it was before so maybe the switch to newer ffmpeg/nvenc has brought improvements on its own.

OBS looks to use lookahead, multi pass and special & temporal adaptive quality, and possibly still looks a bit cleaner in these stress tests but this is much closer

I've noticed a minor bug/source of confusion. If you change the 'Use Hardware Encoder' checkbox and go into the stream quality settings without saving first, it shows the presets for the other encoder. I.e disable use hardware encoder, go into setting and it shows the LLHQ,P1-P7 rather than the x264 profiles.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.