I’ve tried both OBS and Shadowplay so far and they are both too choppy for my liking. Shadowplay looks the smoothest, but even at the highest quality setting the compression look a bit shit in my opinion. OBS lets me save uncompressed video, but it chops like a bastard. It’s choppy no matter what settings I use for that matter.
I don’t get where the choppiness is coming from. Either application is barely using my CPU when recording. My GPU is a 680 GTX. I’m not really sure how to see if it’s working overtime or not, but it usually starts making noise when it is and it’s quiet now.
I’ve also tried recording to different harddrives, including standard drives and SSD’s. This makes no difference at all from what I can tell. And whether or not I’m recording to the same drive as the game is on doesn’t seem to matter either.
Lowering the resolution and framerate helps, but it’s never smooth like it is ingame.
The game is just a simple scene and it’s running at thousands of frames per second.
My goal here is just to learn how to create solid looking gifs/gifvs and Youtube videos. So far I’m failing completely. I haven’t even gotten to the gifs yet. I thought recording smooth video was a solved problem by now. I want something I can quickly use to record gameplay so recording out individual frames and compositing them in post is out of the question. That would also mean I lose my game audio.
Big Youtubers probably use dedicated hardware to record their gameplay, but is it impossible to do with software alone? Or is there a bottleneck in my system?
I will also try recording other games or just my desktop as well to see if Unity is the problem. Getting Unity to work with Shadowplay was kind of a pain in the ass as well and it seems to stop working if you alt-tab.
Edit: I think I’ve solved this. Information in the later posts.
There are two versions of OBS. One multi-platform which doesn’t, as far as I can tell, use your hardware (if you have an NVidia card) and one exclusively for Windows which does. Since you mention Shadowplay, I assume you are on Windows. If you have an NVidia card, get the other, older one. Not the multiplatform one. Then you can set OBS to record using NVidia encoding. Ie the hardware.
But, like others have already mentioned, why use 60fps? You’re making a video, not playing a game. If you’re going to upload to youtube, the site will ‘downgrade’ your video to 30fps anyway.
In my current game, I get over 400 fps at 1080p using ShadowPlay with a GTX780. ShadowPlay does cut the frame rate a little bit, but only a very tiny amount. I have spent quite a bit of time optimizing my game to get the high frame rate.
One thing I have noticed is that the video I make with ShadowPlay is smoother than the 1080p60fps video after YouTube processes it. It still looks smooth on YouTube, but never as smooth as the original video.
I strongly prefer watching video at 60 fps instead of 30 fps. Gameplay videos at 30 fps often look slightly jerky to me, like things are suddenly jumping to a different location instead of moving smoothly.
No its not the videos fault. Youtube will make the video look a bit laggy if its at 30 fps.
Also I dont see any problem with shadowplay. Just crank up the the bitrate slider (which is under Quality > custom) and crank it up to 130. Should give you a good enough quality. At least for Youtube because the youtube compression is way worse than you get on those settings in shadowplay. People wont notice the difference. Shadowplay can definetly dish out good enough quality for youtube. Im on GTX 960 and at least for me I can get good and smooth quality out of it.
@JamesLeeNZ Recording lossless which writes nearly hundreds of megabytes per second or recording highly compressed video seemed to make no difference in how choppy it was. It would be weird if that was the bottleneck in both situations, I feel. And this was to my SSD which is a separate disk from the one the game is running from.
@Eliotz Ok, I need to check it again then. When I switched to custom in Shadowplay it was at 50 bitrate and it looked like that was max. But recording in Shadowplay required me to set specific, not recommended, build settings inside Unity which was a hassle and I couldn’t get it to work at all if my game was running in windowed mode. OBS just worked perfectly in any situation. And it has great settings for hiding the mouse cursor etc.
I realize I already have the dedicated Windows version of OBS, but I didn’t try the Nvidia encoding. There’s a lot of videos and guides on how to record 1080p60fps footage using OBS and some of them are years old so I feel it should be possible for me to do it with what was considered state of the art hardware years ago.
Guess I need to fiddle some more with it. Thanks for all the input.
Christ. I think the problem is with VLC. I thought I made sure VLC handled 1080p60fps videos just fine by downloading a couple of videos and samples before I started and testing them in VLC to make sure they both looked good and so I knew what I was aiming for, but perhaps my recorded videos are encoded using codecs VLC is not happy with or something? I went back and looked at my videos with Media Player Classic and they are all smooth. Friggin’ hell.
At least I now know where to go from here. I thought it was weird how it was so choppy when nothing on my system seemed to be stressed.
I can’t believe it. Another problem seemed to be that I lied. I was always recording at 1920x1200 because I’m one of the old farts who still has a 16x10 monitor. I didn’t think that would make any difference and that it was something I could sort out later, but when I changed it to record at 1920x1080 it seemed to make a massive difference. I can now record basically lossless video in realtime at 1080p60fps and it’s perfectly smooth. It looks like it does ingame.
This is amazing.
And after updating my VLC to the latest version (because it was cough very old) it now plays the video just as well as Media Player Classic does.
Guess I’m marking this as closed. Let’s just hope it still works when I get home from work tomorrow. I’ve practically spent the entire day on this.
To summarize for anyone else stumbling in here:
Vsync didn’t seem to make a difference regarding performance after all, but it’s of course nice to not have tearing in your recorded video.
The less compression I put on the video the smoother it became. Leading me to believe compressing the video is a lot harder for the software than actually saving it to disk.
Make sure you have the latest video player if you want to preview your 60fps video.
Record at a standard format like 1080p and not 1200p.
I could not get the Nvidia NVENC encoding to work inside OBS so I recorded using the default x264 instead, but it seems to be working perfectly now, finally.
I use mostly the same settings as this guy, although I use a much higher bitrate which is contrary to what he says about stuttering apparently:
Here’s my initital result on Youtube:
I think it looks pretty good. I’m sure I can tweak it to look better after some trial and error.
I’ve been uploading several gaming videos myself to youtube over the last couple of years, and I made countless experiments on compression, bitrate, resolution, framerate, etc. The conclusion I came to is that youtube just destroys your video no matter what you do. I even tried uploading totally uncompressed video (almost 50 GB for a minute of 1440p60fps video) directly, but the quality that ended up on the video was just as bad as uploading a video with 20 mbps bitrate. Unless you’re going to keep the originals (which I doubt you’ll have space for uncompressed), the quality of shadowplay capture should be more than enough to upload to youtube and don’t see a difference between that and uncompressed capture.
Oh, and btw, shadowplay allows me to up the recording bitrate to 130 mbps - doesn’t it let you do that?
@Tautvydas-Zilys Thanks for the insight. I’ll try some various settings in both applications and see how they look on Youtube.
But yeah, I’m unable to choose 130mbps in Shadowplay. I double checked after Eliotz said the same thing, but 50 is max for me. But like you say it may be enough, but I also can’t stand Nvidia software. Shadowplay was about the worst application I’ve had to fiddle with in recent memory. There’s basically no settings, it’s all custom styled and not using the default Windows look, and it’s all extremely sluggish to interact with. And it keeps running after you close it. The ability to hide the mouse pointer like in OBS would have been nice for example.
But the main problem was that it didn’t actually work properly with Unity. How do you circumvent this? Or are you using it to record gaming videos from other games? It can’t record games played in windowed mode and only if I set the player settings in my game before I build it to fullscreen exclusive mode, force single instance and some other not recommended settings would it record my game in fullscreen mode. And only until I alt-tabbed, after that it would stop working completely. I’m pretty sure windowed mode is what I’ll be using the most for my games. Preferably I would like to record them straight in the editor if I’m able to make that work. This is just going to be used for quick showcases of what I’m currently working on etc., but at the same time I’m a bit obsessive and I want them to look as good as they can.
My main goal here is smooth 60fps video. The quality isn’t the top priority, but like I said it seemed like using a higher quality led to a smoother video in OBS. And from my experience double compressing a jpg leads to a worse result than compressing it once. I have no experience with video compression, but my initial assumption was that starting with an uncompressed video also led to a better result than if you used an already compressed one. I could be completely wrong of course. The above video was recorded at about 100mbps. I’ll try a lot of different variations today after work.
That option is completely disabled for me. I found a registry hack you could do to enable it, but it seemed not to work. I guess my Shadowplay is broken. I’ll investigate that at the same time I experiment with quality settings.