View Full Version : Realtime Gaming Encoding (CRF,VBR) x264
zerowalker
29th May 2014, 09:16
I am wondering what settings are suggested for high quality x264 encodings that can be done in Realtime (at 1920x1200 30fps).
Now normally, i am all in for CRF, it's the easiest quality control i know, and it's completely adaptive to scenarios.
There is however VBR, which i never use as it's known for bad quality, at least in 1-pass cases like these.
This however may be wrong, it may be an old understanding, as i haven't bothered using it, but i am not against it if it does what i want.
So in my particular case, i want to record as transparent as possible with at least CPU usage as possible. Luckily i don't have to bother about bitrate to much, i can afford to use up to about 80mbps (50mbps is preferred though), so this should help get rid of compression efficiency.
My current settings are with SuperFast preset and CRF=12.
This gives the quality i want, but it seems it takes a huge CPU Usage.
Now i don't really know what more to say, so better to hear from those who know what can be made with this.
Thanks
you use already superfast so there is no real way to get this faster with x264.
if you got an nvidia gpu you can try nvenc with 50 mbit VBR this should beat x264 at superfast anyway and is nearly free. so this should provide better picture quality and is faster.
possible is quicksync too but quicksync got terrible quality. i'm not sure if quicksync can beat superfast x264... or even get near it in quality.
Warperus
29th May 2014, 15:22
zerowalker
The higher the bitrate the longer it takes in cabac encoding. You can disable cabac for lower CPU usage even though file size will increase a bit. It's disabled in ultrafast preset and in baseline profile.
If you use vfw variant, you better disable b-frames if you want to use avi files in NLEs. They are also disabled in both ultrafast preset and baseline profile.
I don't think crf=12 is really needed though. I use crf=18 for offline reencoding of game captured video (frapsed actually) and don't see difference apart from chroma subsampling.
On my i7 820 CPU game capture with 4 threads, ultrafast preset and about 18 crf works in real-time for 1920*1080@30.0 fps.
benwaggoner
29th May 2014, 17:59
if you got an nvidia gpu you can try nvenc with 50 mbit VBR this should beat x264 at superfast anyway and is nearly free. so this should provide better picture quality and is faster.
possible is quicksync too but quicksync got terrible quality. i'm not sure if quicksync can beat superfast x264... or even get near it in quality.
I think QuickSync is actually a good suggestion here. He's not worried about bitrate, and x264 will use CPU and nvenc will use GPU, although I don't know if it would be enough to be material. But QuickSync should have no negative impact on gaming, and should be capable of good enough quality with high enough bitrate. I don't recall the quality being that terrible, either. It was certainly better and faster than the Main Concept CUDA encoder back in 2010.
I think QuickSync is actually a good suggestion here. He's not worried about bitrate, and x264 will use CPU and nvenc will use GPU, although I don't know if it would be enough to be material. But QuickSync should have no negative impact on gaming, and should be capable of good enough quality with high enough bitrate. I don't recall the quality being that terrible, either. It was certainly better and faster than the Main Concept CUDA encoder back in 2010.
http://www.compression.ru/video/codec_comparison/h264_2012/
looking at this it's not really better than xvid and the max mbit is about 36.
nvidia cuda is something else...
but NVenc looks pretty good and has his own asic so the impact is nearly nothing
zerowalker
30th May 2014, 00:03
Okay will try to answer some stuff.
First off, i don't have a GPU that can encode, i got AMD 6970, sadly one generation below the one that started using it.
Second, i got an i5 760 @4ghz, this doesn't have Quick Sync, so i am really of to no good on any offloading encoding.
I don't think crf=12 is really needed though. I use crf=18 for offline reencoding of game captured video (frapsed actually) and don't see difference apart from chroma subsampling.
I actually see quite the difference around Text, pretty much like Jpeg, artifacts. I think it's thou to the SuperFast preset however, as anything around 16 crf should be very transparent.
I am Not using VFW, it's done with MP4 so i don't have to worry about B-Frames and such.
And, i also didn't know that QuickSync was that worse than Nvidia, which is a bit bad for me as i will likely buy AMD next tiem as well thanks to Mantle, and i don't think AMD's encoder is any better than QuickSync, hope i am wrong though.
The higher the bitrate the longer it takes in cabac encoding. You can disable cabac for lower CPU usage even though file size will increase a bit. It's disabled in ultrafast preset and in baseline profile.
That explain things. How much impact does it have on both?
Cause if it's off at UltraFast i guess it must have quite in impact on encoding efficiency. And if it's more than the CPU Usage, than it's not any good, as i can't increase the size too much.
zerowalker
30th May 2014, 14:10
Here is a recording with these settings:
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x3:0x3 / me=dia / subme=1 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=0 / rc=crf / mbtree=0 / crf=16.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=50000 / vbv_bufsize=50000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
This should be fairly high.
But still artifacts appear, and they aren't that illusive.
It's very obvious around text, which shouldn't be apparent at all with high bitrates, but i guess it's the fast preset to blame for it?
(Image is Webp and need a supported browser)
https://docs.google.com/uc?export=download&id=0B_UKJFH8rbiNcWhNdWIwY01YVFE
it is only 4:2:0 chroma so you get always a lot of artefacts like these with games. at least OBS doesn't support 444 yet.
foxyshadis
31st May 2014, 01:09
The noise is almost all in the luma channel. The chroma suffers some smearing even beyond the 2:1, almost as if it was actually 3:1 or more, but that ugly DCT ringing is all from the luma. Even if it's denoised, it won't be great.
The thing about 30mbps is that it's only bluray rate, and even bluray isn't perfect with much slower encodings. Going to crf12 looks like a must. At this point you might have to look into distributed encoding (every other frame, or groups of 5-10 frames maybe?) to spread the load around, or the dreaded upgrade. Kind of a steep price to pay for quality.
zerowalker
31st May 2014, 01:10
it is only 4:2:0 chroma so you get always a lot of artefacts like these with games.
I am not talking about the 4:2:0 effect, sure the blurriness is frustrating, but the artifacts appear around White (Luma) text.
at least OBS doesn't support 444 yet.
And 4:4:4 is supported in a mod, i personally added it back, but if it is as normal x264 encoding, it will be impossible to use as it's to slow.
The noise is almost all in the luma channel. The chroma suffers some smearing even beyond the 2:1, almost as if it was actually 3:1 or more, but that ugly DCT ringing is all from the luma. Even if it's denoised, it won't be great.
The thing about 30mbps is that it's only bluray rate, and even bluray isn't perfect with much slower encodings. Going to crf12 looks like a must. At this point you might have to look into distributed encoding (every other frame, or groups of 5-10 frames maybe?) to spread the load around, or the dreaded upgrade. Kind of a steep price to pay for quality.
This came as i posted my first one.
Yes indeed, which makes it quite apparent, as Luma is the sharpest.
2:1 3:1?
Do you mean it looks like the Chroma has been reduces by a third instead of half?
If so, would need to do some tests to see if that's true.
It seems that 30mbs is indeed far to low at this preset, at least at sharp points, overall the picture doesn't look that bad.
I sadly have no idea what you mean with distributed load, i am guessing you mean take some frames in some cores, stuff like that?
But can that even be done with something that goes realtime?
Sure i can have some frames in RAM, but only as long as it keeps it up, else it will run out eventually.
EDIT:
Here is pictures from the source, one is from OBS with crf=0, making it only perform YV12 conversion, the other is an YV24 capture which i then converted to YV12 in Avisynth, both should look pretty much identical, and well they kinda do.
Avisynth YV12
https://docs.google.com/uc?export=download&id=0B_UKJFH8rbiNN2R5bFlBbk9rZ0E
OBS YV12
https://docs.google.com/uc?export=download&id=0B_UKJFH8rbiNOWs3cDdhSTR6Wms
It's upscaled with PointResize 5 Times it's size to make it easier to see.
YV24 looks like expected, no chroma leak at all, as the source is just a pure red text, no outlines.
i don't see the lossless picture.
the difference between OBS and avisynth is very big i wonder why.
you can try chroma-qp-offset and see if this helps but i doubt it.
foxyshadis
31st May 2014, 12:04
2:1 3:1?
Do you mean it looks like the Chroma has been reduces by a third instead of half?
Not that it's literally been reduced, just that it's very blurry instead of sharp and very noisy like the luma. (Probably from having a higher quantizer that cuts off all high frequencies; imho, it looks a little better that way.)
I sadly have no idea what you mean with distributed load, i am guessing you mean take some frames in some cores, stuff like that?
But can that even be done with something that goes realtime?
Sure i can have some frames in RAM, but only as long as it keeps it up, else it will run out eventually.
Distributed meaning with another pc just to encode some of the frames. (Then you combine and re-encode them later.) As long as you have gigabit end to end, the network won't be a problem, but since x264farm disappeared with omion, I'm not entirely sure how you'd do that.
zerowalker
1st June 2014, 04:39
Not that it's literally been reduced, just that it's very blurry instead of sharp and very noisy like the luma. (Probably from having a higher quantizer that cuts off all high frequencies; imho, it looks a little better that way.)
Oh well, as long as it isn't internally, there nothing i can do.
But would probably be the quality, though YV12 still just makes a blurry mess of "Chroma HUDs".
Distributed meaning with another pc just to encode some of the frames. (Then you combine and re-encode them later.) As long as you have gigabit end to end, the network won't be a problem, but since x264farm disappeared with omion, I'm not entirely sure how you'd do that.
Oh, well this sound like a good idea in itself, sadly i don't have aanother PC, and as you say, I have no idea how to do it either.
Does anyone here has AMD VCE 1.0 / 2.0 compatible cards?
Would like to know the quality difference between Superfast and AMDs hardware encoder.
VCE Version
Product Family
Distinguishing Features
VCE 1.0 Radeon HD 7900 series/Radeon R9 280X dGPU
First release: AVC – I,P and DEM
Radeon HD 7800 series dGPU
Radeon R9 270X/270 dGPU
Radeon HD 7700 series/Radeon R7 250X dGPU
A10 – 58XX (and other variations) APU
A10 – 68XX APU
VCE 2.0 Radeon R9 290x/290 dGPU SVC (temporal) + B-pictures + DEM improvements
Radeon R7 260X/260 dGPU
A10 – 7850K APU
A4-5350, A4-3850, or E1-2650 APU
A4-1200/A6-1450 APU
http://www.compression.ru/video/codec_comparison/h264_2012/
Outdated as hell.
And, i also didn't know that QuickSync was that worse than Nvidia,
Quicksync with Haswell has better quality than Nvidia.
Outdated as hell.
yeah so x264 has improved a lot but you can upgrade a hardware encoder like QS
Quicksync with Haswell has better quality than Nvidia.
got a link with haswell CLI encoder or for NVENC?
i have hardware for haswell QS, ivy QS, AMD VCE 1, NVIDIA CUDA and NVIDIA NVENC.
so i can do a test? IVY QS was so terrible the last time i tested it...
so i can do a test? IVY QS was so terrible the last time i tested it...
What exactly did you test on what hardware/driver?
What exactly did you test on what hardware/driver?
VFR max 120 fps gaming recording ~1-2 year ago with the newest driver at that time. using OBS with about 80 mbit but it looks like the max QS was using was ~36 mbit.
quality was bad and after seeing the screens zerowalker was posting i don't see a way to make that work for him anymore.
Pc was at that time a 3770k, 16 gb ram, geforce 760.
like i said i need a CLI encoder to do a fair test
OBS is crap for Quicksync, poor quality and slow. Ivy Bridge is outdated, Haswell has much better quality. Lots of newly introduced quality oriented features are missing in Ivy Bridge.
zerowalker
9th June 2014, 00:37
It seems from asking around in OBS that Nvidia is worse of than Quicksync (Haswell), and AMD VCE is the best of them all, but also the slowest, but it seems to be able to do 30fps 1080p without issue.
Sadly i can't test it myself at the settings i would like, so no idea if it works at those, or if it's just around 3-8mbps which normal ppl use.
OBS is crap for Quicksync, poor quality and slow.
why should it be it inputs lossless and QD is output so how can this be worse?
Ivy Bridge is outdated, Haswell has much better quality. Lots of newly introduced quality oriented features are missing in Ivy Bridge.
so ivy is already outdated? iok i have a haswell cpu too but not to replace my "outdated" ivy bridge
It seems from asking around in OBS that Nvidia is worse of than Quicksync (Haswell), and AMD VCE is the best of them all, but also the slowest, but it seems to be able to do 30fps 1080p without issue.
Sadly i can't test it myself at the settings i would like, so no idea if it works at those, or if it's just around 3-8mbps which normal ppl use.
i did a test with vce on a first look is look usable and maybe good enough
i don't have a proper game on my htpc and for a real comparison we need CLI encoder for these hardware encoder.
i just set it to 50 mbit abr and the file in the end was using ~48 mbit with 60 fps VFR so this encoder can use the mbit you need!
i can look at haswell next but i don't have windows 8 so i need a fake display to test it.
edit: QS haswell look good to but trys to use low mbit with 50 mbit abr it used 29 mbit. with 50 mbit cbr it use nearly 50mbit so not sure about this. maybe is trys to use a Quantization for every frame hard to hard to tell
zerowalker
10th June 2014, 01:18
If possible, could you encode something that's repeatable (some DEMO test perhaps), with QS and AMD VCE at best settings possible, and closest bitrate possible (that would be about 29mbps i guess)?
Then you can take out shots from these 2 and link here (as well as the videos if possible) to compare, as there should be 2 identical (or very similar) images.
A lossless shot of it would also be great, as sometimes it's hard to see if the difference is good or bad if you don't know how it looked originally.
Also, which VCE version do you have (R9 290 = VCE 2.0), i think all lower is 1.0, but just taken from mind right now.
huhn
10th June 2014, 04:52
If possible, could you encode something that's repeatable (some DEMO test perhaps), with QS and AMD VCE at best settings possible, and closest bitrate possible (that would be about 29mbps i guess)?
Then you can take out shots from these 2 and link here (as well as the videos if possible) to compare, as there should be 2 identical (or very similar) images.
A lossless shot of it would also be great, as sometimes it's hard to see if the difference is good or bad if you don't know how it looked originally.
Also, which VCE version do you have (R9 290 = VCE 2.0), i think all lower is 1.0, but just taken from mind right now.
i can do this later but the VCE encoder is not reliable yet the obs version with it a true beta.
BTW nvidia nvenc can record in 4:4:4.
i use a r9 270 for this card is VCE 1.0 the r7 260 and r7 260x are VCE 2.0 too
zerowalker
10th June 2014, 18:45
yeah i know, but well when you do,it will be appreciated:)
I am pretty sure VCE 2.0 can do that (though unsure if it can do it with b-frames or not).
Ah okay.
huhn
12th June 2014, 02:31
source: http://www.file-upload.net/download-9048603/source.mkv.html
QS 50 mbit: http://www.file-upload.net/download-9048608/intelhaswellQS.mp4.html
QS 26 mbit: http://www.file-upload.net/download-9048601/intelhaswellQS26.mp4.html
AMD50 mbit used 26 mbit: http://www.file-upload.net/download-9048602/AMDVCE1.mp4.html
not a good comparison by any means. but they don't look bad all of them. i have to start the player first and then record else it only recorded a black screen so first sec and the end are totally useless.
why is QS now using all bitrate and AMD not who knows...
i guess this has something with the fps to do... maybe
zerowalker
13th June 2014, 11:41
Why is AMD dropping frames, and QS flawless? (I am guessing it's because of OBS and the Beta stage though).
And i thought QS used less bitrate and not the otherway around, i guess it depends on content and perhaps fps as you say.
The Quality Difference is Night and Day though, sure AMD got like 300kbps more, but that won't cause any real difference at all.
VCE 1.0 vs QS Haswell (http://screenshotcomparison.com/comparison/78902)
Now the difference in this shot is the dark places, the things in the middle looks good, but i think it's because it didn't move much at the point, as it blurs in other occasions.
huhn
13th June 2014, 17:01
Why is AMD dropping frames, and QS flawless? (I am guessing it's because of OBS and the Beta stage though).
i think so too. of cause it's possible that it does this because it's slow.
And i thought QS used less bitrate and not the otherway around, i guess it depends on content and perhaps fps as you say.
my first fast test (kerbals pace program) where done with 60 fps.
The Quality Difference is Night and Day though, sure AMD got like 300kbps more, but that won't cause any real difference at all.
and there wasn't an option with AMD for quality. QS was set to best quality and i used 16 b frames.i can do this with normal number of b frames if you like but b frames are not supposed to create such huge artefacts.
VCE 1.0 vs QS Haswell (http://screenshotcomparison.com/comparison/78902)
Now the difference in this shot is the dark places, the things in the middle looks good, but i think it's because it didn't move much at the point, as it blurs in other occasions.
both look totally terrible. of cause QS is terrible on a new level
If possible, could you encode something that's repeatable (some DEMO test perhaps)
what type of demo are you thinking about? can only be better then this "demo".
foxyshadis
14th June 2014, 01:09
I don't think QS supports b-adapt, so bframes=16 might force that.
Testing.... yes, OBS with bframes=16 forces 16 b-frames between every P-frame. I'm not sure how much this affects quality, but B-frames do have higher quantizers.
zerowalker
14th June 2014, 01:22
i think so too. of cause it's possible that it does this because it's slow.
Hope this is not the case. Some people report being able to record 1080p 60fps, so i can't think that is the cause her.
But i now it can spike in bitrate, so perhaps that causes a temporary slowdown and droppes frames.
both look totally terrible. of cause QS is terrible on a new level
Really?
I think the VCE looks quite good. But i don't know how the original look so can't tell how much is missing.
But of course compared to Medium x264 the difference is huge. As there is No Blocks at that bitrate then, only artifacts that's very hard to spot.
But i want to compare it to SuperFast, which is pretty crap in itself.
Can you do a encoding on that file with x264 SuperFast and compare?
what type of demo are you thinking about? can only be better then this "demo".
With a Demo i meant something like Unreal Engine 4.0 sample demo. But this test is pretty much the same:P
OBS with bframes=16 forces 16 b-frames between every P-frame
Does P-Frames occur every now and then?
If so, that explains the Quality Dip, QS look acceptable normally it seems, then randomly it will look awful, then good again.
Oh, and doesn't B-Frames increase efficiency?
VCE 1.0 doesn't support B-Frames, so i wonder, how much efficiency is gained with 2.0 which does support it?
Asmodian
14th June 2014, 01:51
Oh, and doesn't B-Frames increase efficiency?
Done right, usually, but forcing 16 B-frames in a row is not B-frames done right. Try without B-frames or set B-frames to something reasonable like 2 or 3.
huhn
14th June 2014, 04:45
Done right, usually, but forcing 16 B-frames in a row is not B-frames done right. Try without B-frames or set B-frames to something reasonable like 2 or 3.
giving the possibility is fine forcing not.
Hope this is not the case. Some people report being able to record 1080p 60fps, so i can't think that is the cause her.
But i now it can spike in bitrate, so perhaps that causes a temporary slowdown and droppes frames.
at what mbit 3.5, 20, 100 ?
Really?
I think the VCE looks quite good. But i don't know how the original look so can't tell how much is missing.
But of course compared to Medium x264 the difference is huge. As there is No Blocks at that bitrate then, only artifacts that's very hard to spot.
the source is posted too
on my 6 bit tn it looks terrible on my 8 bit TV is was "fine" strange...
But i want to compare it to SuperFast, which is pretty crap in itself.
Can you do a encoding on that file with x264 SuperFast and compare?
http://www.file-upload.net/download-9058105/superfast26.mkv.html
http://www.file-upload.net/download-9058120/superfast50.mkv.html
the source is VFR about 13-120 fps so i used this:
FFmpegSource2("C:\New folder (2)\source.mkv",fpsnum=30)
C:\cmd\32\x264_08.exe --preset "superfast" --bitrate 26000 --output superfast26.mkv "D:\\vfr-cfr.avs"
C:\cmd\32\x264_08.exe --preset "superfast" --bitrate 50000 --output superfast50.mkv "D:\\vfr-cfr.avs"
haswell with default b frame settings: http://www.file-upload.net/download-9058103/haswellqsdefaultbframes.mp4.html
With a Demo i meant something like Unreal Engine 4.0 sample demo. But this test is pretty much the same:P
the source is "only" crf 16 10bit from lossless 420 h264
i created a crf 0 120 fps source before i may still have it.
VCE 1.0 doesn't support B-Frames, so i wonder, how much efficiency is gained with 2.0 which does support it?
you need someone with a VCE 2.0 card to test this. b frames are pretty good if used right.
i wanted to add NVENC too but i can't find the OBS version with 444 support only this: https://github.com/Extrems/OBS/commit/e02290f85c59bb958d8647f7c12a7d843bdd53b9
and i don't know how to use that.
foxyshadis
14th June 2014, 07:58
OK, I did some more research, and QuickSync does support scene change detection, adaptive B frames, b-pyramid, even trellis for heavy-duty encoding... but OBS does not. So yes, by setting 16 bframes you always get 16 B between each P, and always get GOPs of exactly 256 frames. The reason that many B-frames is bad is that so much changes between the reference frames that in the middle there are no good references, so it's either bad quality or much larger file; since B quantizer is always higher, it's usually bad quality. And if there's a scene change in the middle, it becomes a blurry blockfest. 16 bframes is only always better if adaptive and bpyramid is enabled, and OBS does neither. (However, if you want an idea of how well it works with them, try AviUtil.) Hopefully OBS Studio will eventually support more options, since OBS development is stalled, but at the moment it doesn't even have QuickSync support at all.
I will say this, however: The difference between Ivy Bridge and Haswell is night and day. I just did a test on my laptop, and it looks perfectly fine for a broadcast, whereas the Ivy desktop was an ugly blocky mess with the exact same settings.
zerowalker
14th June 2014, 23:07
i wanted to add NVENC too but i can't find the OBS version with 444 support only this: https://github.com/Extrems/OBS/commit/e02290f85c59bb958d8647f7c12a7d843bdd53b9
and i don't know how to use that.
I made it myself awhile ago, just replace, or rename the OBS.exe, 64bit version.
You can choose YUY2 and YV24 in profiles.
https://www.sendspace.com/file/6xze12
the source is posted too
on my 6 bit tn it looks terrible on my 8 bit TV is was "fine" strange...
Compared SuperFast, VCE and Source now, and SuperFast looks the best (but also use 6mbit more).
VCE looks more blurry than the Source, can't however say it's Night and Day, but you can clearly see if if you compare dark details.
I got a 6-bit TN, not sure what difference you see, but well 6-bit is just "guessing" 8-bit content, and it that's 10bit to begin with (or rather upsampled during encoding), i guess there is quite a difference, at least in darkness and gradients.
the source is "only" crf 16 10bit from lossless 420 h264
i created a crf 0 120 fps source before i may still have it.
The best thing is to use a lossless when doing these tests, as re-encoding usually is unrealistic, as another encoder as already removed the hard parts to encode, making it a bit easier for the next one.
It also becomes hard to distinguish differences in details, as they aren't as sharp as they are supposed to from start.
crf 16 at 10bit (on medium i guess?), is extremely good, archiving quality. But for tests, i would say lossless is always the way to go, to prevent unwanted variables in the equation:P
I will say this, however: The difference between Ivy Bridge and Haswell is night and day. I just did a test on my laptop, and it looks perfectly fine for a broadcast, whereas the Ivy desktop was an ugly blocky mess with the exact same settings.
A screenshot of this would be nice, just for the heck of it;P
huhn
14th June 2014, 23:33
crf 16 at 10bit (on medium i guess?), is extremely good, archiving quality. But for tests, i would say lossless is always the way to go, to prevent unwanted variables in the equation:P
the preset was custom with really high settings. not sure if a lossless h264 stream with 500+ mbit is usable in realtime never tried it.
zerowalker
14th June 2014, 23:53
wait, what are you recoding with, OBS?
If so, then no it's not possible as far as i know.
I simply meant something like VFW, MagicYUV, UTVideo Codec, Lagarith etc.
h264 lossless is not meant for realtime, and is certainly not good for what lossless is used for either (Editing).
huhn
15th June 2014, 06:37
i don't know a free program to capture fullscreen direct x games with active aero with normal lossless support.
a uncompressed 1080p picture is about 3 mb 120 fps sec with 50% compression can easily force a normal hdd to it's limited. and encoding with crf 0 and 120 fps is no problem in realtime so i don't see a huge problem in that.
zerowalker
15th June 2014, 23:08
You fan simply use dxtory or fraps using the trial period.
But if you can encode CRF 0, then that is no problem. I didn't think it was possible, as it's pretty slow, even on Ultra Fast.
osgZach
19th June 2014, 06:36
CRF 0 in real-time is a waste in my opinion, and even at 30fps you'd probably be dropping frames left and right; I don't think even my 8 core FX can keep up with that and its only used for recording.
CRF 14 - 16 / Ultra Fast should be plenty quality-wise even on fast games.
If you truly want lossless recording, you need to use a low CPU codec like UT, Lagarith, etc and a RAID 0 array with sufficient bandwidth to keep up. DXtory might suffice since it can stripe the file across however many drives you want, but then you spend extra time re-assembling it (and it takes a while, believe me).
I ultimately abandoned the pursuit of recording programs and opted for a dedicated box since I had a spare machine. If you only want 30fps recording then any gamer-oriented capture card will probably work (avoid USB3 I had nothing but trouble with such a device). But I'm a stickler and wanted 60fps so it actually represented fluid motion and dropped around $350 on an SC-512N1-L/DVI from Japan. It's the only affordable card I know of that will capture 1080p60.
Since OP asked
My capture setup is: AMD FX8320, WD Velociraptor 250GB, AmarecTV -> x264vfw at above mentioned CRF values.
My only complaint is I can't record multichannel audio with this setup. But 2ch Stereo comes in fine over HDMI->DVI input.
huhn
19th June 2014, 08:36
i can do 120 fps crf 0 without any drops so not sure about that.
and it's easy on the cpu. don't forget games need the cpu too.
osgZach
19th June 2014, 08:54
i can do 120 fps crf 0 without any drops so not sure about that.
and it's easy on the cpu. don't forget games need the cpu too.
That's a pretty broad statement. I can see it being done in certain situations, perhaps, but nothing I've tried has let me approach anything near CRF0 @ 1080p 60fps with no dropped frames. The CPU chokes every time.
What are your system specs?
How are you capturing (what software or hardware) and what programs/encoders are you using?
What game(s) have you done this with?
What resolution? What framerate?
huhn
19th June 2014, 09:31
i created a test file for MadVR for checking the behavior of SM with 120 fps source on 60 fps screen.
the main problem is not recording at 120 fps it is getting the game to stable 120 fps.
3770k at 4 ghz
760 gtx
i used OBS with crf 0, 1080p with game capture YCbCr 4:2:0 not RGB.
the game i used was warframe the sample is here: http://www.file-upload.net/download-8681857/120fpssample2--1-.mkv.html
i get 120 fps in the game with vsync and it doesn't look like it is 10 years old.
of cause this is a crf 18 reencode.
don't forget using a normal lossless codec can easily produce more than 120 mb sec with 120 fps so no go for a hdd.
i did a small test i have problems to hold 120 fps in the game these days but in the end the cpu usage was max at 45 %
and most games use 2 threads so totally save.
here a lossless 4 sec sample: i took a slow motion part because file size: http://www.file-upload.net/download-9084078/120lossless--05--003.mkv.html
so 60 or 30 fps shouldn't be to hard.
huhn
19th June 2014, 09:36
I made it myself awhile ago, just replace, or rename the OBS.exe, 64bit version.
You can choose YUY2 and YV24 in profiles.
https://www.sendspace.com/file/6xze12
Encoder initualization failed!
i have to look at this later most likely a driver problem
osgZach
19th June 2014, 21:51
Maybe the 3770K has enough CPU power to do it, I dunno.. All I know is both me and someone else tested stuff out and found CPU to be limiting in this regard. even on an i5 (both his and mine) and my 8core FX CPU, CRF0 @ 60fps just wasn't viable. The CPU choked, every time.
Granted if I had the money, I'd get a RAID card and 4x3TB drives, and just use UT Codec, and the point would be moot.
Either way. All this aside, I don't see much point is going beyond CRF 12 at the max, except for maybe special cases, and as long as the rig could handle it without drops.
zerowalker
20th June 2014, 03:18
Encoder initualization failed!
i have to look at this later most likely a driver problem
Oh, well YV24 is Only enabled in x264 though.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.