jackun / openencodevfw

No longer a VFW (video for windows) frontend for AMD VCE H264 encoder
58 stars 12 forks source link

How to choose / test best settings? #19

Open N3tCode opened 9 years ago

N3tCode commented 9 years ago

Hey there jackun,

First and foremost, thank you! Thank you, thank you, thank you! On to the questions.

I'm currently using dxtory with openencodevfw to record 1920 x 1080 30FPS video game footage. Knowing this, would you mind giving me advice on choosing the best openencodevfw settings for the game(s) I'm playing please?

I've been doing a lot of research and haven't found any concrete settings or explanations on when and what to use. What I've been going by thus far is the settings someone previously asked about, basically:

Mode 0 - QP 20 Quick Set - Quality Profile - High Level - 4.2

The thing is, I don't know why haha. You mentioned to someone else that QP 10 might be too much and QP 20 should be good. Well, how would one know what is enough? Is there anyway to benchmark our settings? All I know is when I turn the QP lower, the file size gets bigger (more lossless?).

Basically I've come down to this, I've been changing all these settings around and seeing how it impacts the performance of my game (basically watching the FPS in the top left and the writing FPS also in the top left). This has been hard to benchmark though.

My goal is this: Get the highest quality I possible can with the least amount of impact on my system. Any tips on how to benchmark or test this? I mean, why use lower quality settings if my computer can handle the higher quality ones?

I'm all over the place I'm sorry. I've spent the past week in evenings researching / working on all this.

One last thing, Compared to using the YUV420 BT 709 / YUV422 BT 709 vs the openencodevfw, I've noticed the color to be off a bit. It appears to be more red, but I'm not too sure (I remember you researching this). Do you know any way to fix this with sony vegas? Maybe something similar to the Computer RGB preset fix? I'd just rather not use the YUV since the file size is huge compared to using the openencodevfw codec. Much easier to manage yours :).

Thank you!!!

N3tCode commented 9 years ago

Good morning!

I'm sorry about your brain man! Mine's -> :hankey:

As for the video, I checked real quick this morning and noticed my fully updated Chrome Browser was using HTML5 for the youtube player. I wasn't able to test on Chrome (my usual browser) but I was able to check on IE and it seemed when using flash with hardware accel. the colors didn't change from 360p to 1080p, thus confirming your findings.

But I noticed I've been using HTML5 (with Chrome) this whole time even when I was testing the other youtube channels. There colors didn't change between 360p and 1080p like mine did.

Usually I would say this is a wash, but I'm a little concerned that Chrome isn't using Flash player by default, and seeing how popular Chrome is these days, I wouldn't want the color issues for those who can't stream full 720/1080p ya know?

If it's HTML5, then why doesn't it affect the other user's videos ya know? What do you think?

Thanks again!

jackun commented 9 years ago

I dunno. But seems that safe bet is going with BT.709 and if someone complains tell them to fix their player, heh. I've also messed with OBS (nicked more precise BT.709 coeffs from it) and uploaded video to youtube and still the same color issues with that too (that is new flash player displays correctly, old Flash 11 is using BT.601) so I don't think I can help you more there as I have only done local recordings for myself.

Some have had some success with this too :P

N3tCode commented 9 years ago

Looks like youtube itself is pushing HTML5 rather than Flash when the browser supports it (which basically means all the browsers).

Side note, you mentioned you: "Added some code that sets some bits in H264 bitstream about colors (may be a bit crashy :P). Maybe Sony decoder now has a clue." Well, correct me if I'm wrong, but I think the issue was more remuxing it to mp4, so do you still think these are needed? I'd feel bad if my mistake caused you to add something to make the codec less reliable for others.

N3tCode commented 9 years ago

https://code.google.com/p/chromium/issues/detail?id=333619 -Appears to have some info on the issue.

I'll do more testing when I get home. - I just want to know why certain other people's videos play fine with my Chrome but mine do not. I don't always run videos at full 720p/1080p so if someone were watching my videos, I don't want them to get those super dark reds that you've worked so hard to fix ya know?

This issue has turned me into a monster! :dragon_face:

jackun commented 9 years ago

Side note, you mentioned you: "Added some code that sets some bits in H264 bitstream about colors (may be a bit crashy :P). Maybe Sony decoder now has a clue." previously, well I think the issue was more remuxing it to mp4, do you still think these are needed?

Better to have it. Transfer bit set to linear for "BT.601 full RGB/YCbCr" seemed to make VLC display it correctly on linux atleast (e: or not, I thought it was brighter before).

N3tCode commented 9 years ago

I'm buggin.. I can't find anyone else on youtube who's video's change like that.. I mean at 480p they're back to all dark and messed up, then at 720p/1080p they're perfect just how VLC had them. I can't figure it out. All of my videos are doing it from multiple codecs. Makes me think it's a vegas setting.

N3tCode commented 9 years ago

But I'm already doing Computer RGB to Studio RGB, if I wasn't, then both videos would be messed up.

It even affects some random color bar I uploaded to the internet but only on MY color bar that I upload, not anyone elses I've viewed... I know this isn't your problem, you've done great, but this sucks haha.

It's gotta be sony vegas..

N3tCode commented 9 years ago

I found someone else!!!

https://www.youtube.com/watch?v=eXmwtlrje8k

He has the color change when you go from 480p to 720p+ at 4 seconds paused.

N3tCode commented 9 years ago

480p:

720p:

I know this is doesn't have anything to do with your wonderful codec but any thoughts why this is happening with my Windows 7 Chrome Browser Full Updated using HTML5?

It's happening when I change the quality the video playing through youtube.. there's an obvious brightness and I've had a hard time finding this issue with anyone else except the guy above. It's like there's a trick out there that only some people know lol.

Thank you!

jackun commented 9 years ago

On the left the RGB image was converted to YUV with the rec.709 matrix then, incorrectly, converted back to RGB with the rec.601 matrix. On the right the RGB image was converted to YUV with the rec.601 matrix then, incorrectly, back to RGB with the rec.709 matrix.

720p might be the correct one, so 480p is decoded as BT.601 though it is BT.709. From here.

N3tCode commented 9 years ago

Yeah that's how it is for my own videos. 720p shows up correctly, but 480p doesn't. Is there anything I can do in the editing process?

It doesn't make sense because I can youtube someone else's color image like that, and it doesn't seem to change when I switch between 480p and 720p.

N3tCode commented 9 years ago

Thank you so much jackun for everything!

And believe it or not I had one last question (if there's another way to communicate with you please let me know) - but I think I'm going to make the plunge to use open sourced software. With that being said...

Is your OBS fork updated with all the findings we have here with your independent plugin? I'm planning on getting rid of sony vegas and dxtory.

jackun commented 9 years ago

I just added VCE encoder plugins. They take in whatever OBS feeds them. Currently it is mostly BT.709.

Is there anything I can do in the editing process?

I don't know, maybe mess with luma levels as needed (vegas' links above).

N3tCode commented 9 years ago

So do you think I can expect the same results in recording the video using just OBS vs using dxtory (how I've been doing thus far)?

I'm not focused on streaming as of yet.

jackun commented 9 years ago

Yep.

N3tCode commented 9 years ago

You can't separate the audio tracks in OBS like you can in dxtory :(.

Do you know a way to output the dxtory file to mp4 instead of .avi? It "seems" like it's possible with the x264 codec but I could be wrong.

odins1970 commented 8 years ago

Good job!! I have a question:   You can add an interface option set a fixed FPS ?? In some cases it is necessary to do a screen capture to sync with other devices and requires a fixed FPS for example 15 or 20 or 25. It is possible ??