Page 2 of 6
Re: G-Sync and Cloned Displays [for twitch streaming?]
Posted: 31 Jan 2014, 14:34
by nimbulan
Boildown wrote:Which brings me to another point, I also record to my streaming computer's hard drive a high quality version without a downscale, in addition to the stream. Even on Super Fast x264 preset, its transparent at a CRF of 24, which averages to around a 15Mb/s bitrate. Needing 50Mb/s to achieve the same using Shadowplay is really bad, and SuperFast is itself a really bad preset. If I used Shadowplay and recorded until my hard drive was full, I'd have less than 1/3rd the footage recorded than with my current system.
Just because it goes up to 50 Mbit doesn't mean it needs to. In my (admittedly limited) testing even using the 15 Mbit "low quality" setting displayed almost no artifacts playing Battlefield 4. I suspect the encoder is very similar to "very fast" and "super fast" settings in software encoders like you are using.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 15:50
by Boildown
nimbulan wrote:I suspect the encoder is very similar to "very fast" and "super fast" settings in software encoders like you are using.
I actually did an analysis of the best NVEnc preset here:
https://obsproject.com/forum/viewtopic. ... =70#p58166
To sum up, the NVEnc encoder, on its best preset, still turns off fundamental things x264 uses in every preset, even Ultra Fast. So it would be wrong to say its quality is between this preset and that of x264 (not that you said exactly that, I should note); its a messed up Frankenstein of good and really bad.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 18:43
by nimbulan
Boildown wrote:nimbulan wrote:I suspect the encoder is very similar to "very fast" and "super fast" settings in software encoders like you are using.
I actually did an analysis of the best NVEnc preset here:
https://obsproject.com/forum/viewtopic. ... =70#p58166
To sum up, the NVEnc encoder, on its best preset, still turns off fundamental things x264 uses in every preset, even Ultra Fast. So it would be wrong to say its quality is between this preset and that of x264 (not that you said exactly that, I should note); its a messed up Frankenstein of good and really bad.
You obviously know much more about video encoding that I do. It's pretty sad that NVENC lacks even basic features of x264. Perhaps nVidia can be persuaded to upgrade the hardware encoder in future cards so it will be a more viable alternative to software encoders.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 19:07
by Boildown
nimbulan wrote:It's pretty sad that NVENC lacks even basic features of x264. Perhaps nVidia can be persuaded to upgrade the hardware encoder in future cards so it will be a more viable alternative to software encoders.
I've recently learned that this is par for the course for hardware encoders. I've resolved to not get excited about them any more, until they prove themselves.
By the way, I haven't analyzed Intel's Quicksync like I did NVEnc, but I hear that the Haswell revision encodes at a quality somewhere between x264's Faster and Fast. Which is remarkable, because that makes it better for livestreaming than most people's software solution. The Sandy Bridge version was nowhere near that good quality.
I think the lesson is that just like x264 itself,
and soon to be seen in x265, encoders start off with minimal features and poor performance, and increase it over time. The problem with hardware of course is that they're stuck at however the silicon was laid down, you have to wait for the next revision of the silicon. I think we were all assuming/hoping that Nvidia's Shadowplay / NVEnc would be programmable like a classic CPU, or naively thought it would have all of x264's features from the get-go, but that turned out to not be the case, and for me it took all the steam out of the announcement.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 19:19
by sharknice
Well it still does have advantages over software encoders, especially if you don't have a separate PC to handle the live encoding.
I can record 1920x1080 60 fps video with shadowplay with no hit to my frame rate in-game. I can't get nearly that quality recording with OBS and get a pretty significant performance hit depending on the game.
Shadowplay videos take up a ton of space, but I can always convert them to a lower bitrate later.
Shadowplay also worked a lot better for livestreaming for me too, but since you can't play windowed or tab out it isn't great yet.
So it has worked great for me, much better than OBS. Except for after I reinstalled Windows and switched to 8.1 from 8 Shadowplay hasn't worked for me. Which is pretty disappointing. It always gives me the red cross through the green circle.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 20:08
by ManuelG_NVIDIA
I need to research this. I'll check back once I get an update.
Re: G-Sync and Cloned Displays
Posted: 31 Jan 2014, 21:14
by Chief Blur Buster
Excellent! I think high end twitch broadcasting is important for high end displays.
Possible Solutions
Enable GSYNC mirroring?
- This will help this goal eventually, e.g. future video capture that supports variable frame rate
Enable LAN broadcasting for ShadowPlay?
-- Transmit 50Mbps H.264 ShadowPlay stream from gaming computer to 2nd computer over LAN.
-- Reencode 50Mbps H.264 stream into a very high-quality 3.5Mbps twitch stream on the 2nd computer.
It's easy to transmit 50Mbps video over a gigabit LAN in real time, so this could work. This is useful for:
-- Another method of doing spectator displays at LAN parties (without needing expensive switches).
-- Use a separate, high-end computer that reprocess and convert 50Mbps streams into high-quality / high-efficiency 3.5Mbps twitch streams that are much higher quality than direct ShadowPlay 3.5Mbps streams.
Re: G-Sync and Cloned Displays
Posted: 01 Feb 2014, 02:11
by Boildown
What we really need are DisplayPort 1.2 video capture cards that are compatible with G-Sync. Or just Displayport video capture devices in general, they essentially don't exist at the moment (the ones that do exist actually do a DVI or HDMI conversion).
As for lan broadcasting with a second computer, that's actually being done already with a clever OBS and nginx/ubuntu setup:
https://obsproject.com/forum/viewtopic.php?f=18&t=6757 ! The guide mentions Quicksync, but NVEnc should work as well as of very recently:
https://obsproject.com/forum/viewtopic.php?f=20&t=10234 , or possibly it could be done with Shadowplay itself. Its all just H.264 to the decoder.
If nothing else works and I really "must have" G-Sync, I'd likely try this LAN method, using Quicksync for GPU-bound games, and try NVEnc for CPU-bound games. But that's just a partial workaround, I still want to clone displays even when one of them is G-Synced for many other purposes not involving streaming, or so that I don't have to stream locally, just string a video cable.
Re: G-Sync and Cloned Displays
Posted: 09 Feb 2014, 15:39
by sharknice
ManuelG_NVIDIA wrote:I need to research this. I'll check back once I get an update.
I was able to get Shadowplay working. You need to have windows media player installed for Shadowplay to work. I am using an "N" version of Windows 8.1 that doesn't include media player so I had to download it separately.
Re: G-Sync and Cloned Displays
Posted: 10 Feb 2014, 15:12
by Chief Blur Buster
As far as I knew, ShadowPlay works with G-SYNC.
What we need is a method of transmitting the high quality 50Mbps ShadowPlay stream to a separate computer, that can do a high-quality, proper transcode to a high-quality 3.5Mbps Twitch stream. Although that means compression passes (which, correctly, is normally a no-no), sometimes it is an exception because of a technological necessity -- this workaround can be much higher quality than a direct 3.5 Mbps low-quality "fast compress" stream.
Do this test: Record a maximum bitrate ShadowPlay stream (50Mbps), then run a utility to recompress the file using high-quality options to 3.5 Mbps, playback -- and playing the 3.5 Mbps file still looks broadcast quality, just like the commercial 3.5 Mbps treams. Which proves ShadowPlay is good enough to do this -- now NVIDIA has to program a way to let the 50 Mbps stream be transmitted to a separate computer in real time without much intrusiveness at a LAN party -- to let a separate computer do the more extensive processing necessary for a proper top-quality 3.5 Mbps stream.