Video Quality issue: Original File Vs Exported File

So I’ve made a video that was recorded using a 2560×1440 resolution on a webcam. The video also has a 1920x1080 cropped video playing in the corner, which was recorded as a screen recording using the same 2560x1440 resolution in OBS.

I adjusted the preset YouTube export setting to this:

video setting

codec

Unfortunately the result of the export isn’t really that close to the original file in terms of resolution/sharpness. As you can see from these two images:

Original file:

qual 1 a

Exported file:

qual 2 a

Is there something amiss with this, or is this a standard amount of degradation?

I set the 2560x1440 to match the webcam resolution because exporting to anything else seems to mess with the audio sync of the webcam video; plus it’s the highest resolution image of the video, so I want to try to match it.

I’m not sure if the cropped video in the video is somehow bringing down the overall resolution? Or whether I need to do something else with the settings?

Any help appreciated. :slightly_smiling_face:

Try using libx264 instead of h264_qsv, and turn off hardware encoding. Quick Sync encoding often sacrifices quality to get speed. Quality can be changed to 64-68% (CRF 16-18) for a high-quality libx264 encoding.

Thanks for the suggestion. I just tried it and it actually came out slightly worse. :frowning:

That is extremely unusual. Two things then…

Since video is being shrunk, changing Video tab > Interpolation to Bicubic will probably improve the smaller video by a noticeable amount.

Secondly, can you send whatever text is in the Other tab?

Thanks. I’ll try that, but it’s mainly the webcam footage of the larger part of the video that I would like to improve.

Here’s the Other tab:

other tab

Try changing it to preset=medium.

Still the same, unfortunately.

Very unusual. Those are generally bullet-proof settings.

Let’s try this… export with the Lossless > Ut Video preset using Bicubic interpolation. Leave the other settings at default. It will result in a biiiiig file. But it is lossless. If that file is fuzzy, then something is wrong with processing, and not with the export format.

That, or there is a 1-2 frame sync difference between the export and the original, meaning a frame with motion blur might be compared to a frame that doesn’t have motion blur, and the codec itself is fine.

OK, lossless Ut Video produced a comparable video quality. It wouldn’t even play in Windows Media Player, but did play in the VLC Player.

So do we think it’s a frame sync problem? What do you think could be causing that, and is there a way to solve it?

Thanks for helping BTW. :slightly_smiling_face:

If it is a frame sync problem, then the two videos would look equally sharp overall when played back at normal speed. It’s just comparing “frame 50” to “frame 50” might be an unfair comparison if frame sync causes one of them to actually be “frame 52”. If the source video format is variable frame rate or some other format that isn’t seek friendly, then frame sync can become an issue. But it wouldn’t impact the sharpness of a frame; it would just put a sharp frame in the “wrong” slot.

So, we’ve learned that processing isn’t to blame. We’re back to settings for the export format. I guess you could crank the quality percent even higher on libx264 and see what happens. There is the option of preset=slow on the Other tab, but that usually isn’t necessary (and the extra processing actually is slow).

Or, you could try adding a Sharpen filter greater than 30% to emphasize the sharpness you want (maybe even overshoot) then maybe the export will dull it down to where you want it. That’s a hack, but I’m not sure why else the original libx264 settings aren’t doing any better. If that works, you might be able to return to h264_qsv and get your hardware speed back. Or try h264_qsv with preset=medium (without the Sharpen hack first) and see if it looks better than the first attempt on fast.

To verify, the input frame rate and output frame rate are both 24fps, correct? As in, the webcam video wasn’t 60fps and the export is 24fps?

Actually the frame rate for video in OBS is set to 30 FPS and the export is 24 FPS in Shotcut. Would that be the issue?

Here are my video settings in OBS:

I’m guessing I should match the FPS in the export and change it to 30?

Matched frame rate would preserve the smoothest motion. Going from 30 to 24 means Shotcut will drop frames from the source to match the export rate, potentially resulting in jerky motion. At a minimum, it will be nearly impossible to do a frame-accurate comparison between the original and the export because the export doesn’t have all the frames the original has. This could also explain any 1-2 frame sync issues (at drop points to reduce to 24 fps).

To verify, do the libx264 exports look fuzzier overall when played back at normal speed, or only when comparing freeze frames? If freeze frames are the only issue, it’s very possible the same frame hasn’t been correlated between videos, and the fuzziness could actually be motion blur in a different frame.

No, the fuzziness is during playback too, which is what prompted me to do the side by side frame analysis, just to check it wasn’t my eyes playing tricks on me.

I’ll try a higher libx264 settting tomorrow, to see if that does anything, and I’ll see if I can hack it with the sharpen filter, if all else fails.

Thanks again for your help. I’ll let you know if anything made improvements.

Did you change the resolution in Export? If so, that is your problem. Your project’s video mode is incorrect.