1

First I just want to say a bit more about my title, I am not referring to the fact that upscaling doesnt add data(as often asked when upscaling) - but something different.

Example

I have raw video A1 (854x480)

I encode A1 to B1 ignoring scale - therefore keeping same 854x480.

ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 C:\B1.mkv

I play this video in a player, and upscale it by enlarging the window of the player, the video is now 1092x614, I save a screenshot of frame 88.

I now encode A1 to C1 specifying scale 1092x614 (Like the screenshot we have)

ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 -filter_complex scale=1092:614 C:\C1.mkv

I save a screenshot of frame 88 in C1 at its native screensize - 1092x614

Because I am using a Raw Original for both encodes, I assumed that both screenshots would look the same - but they do not, the upscaled encode C1 is alot poorer quality compared to the manual upscaled encode B1.

I thought that when I upscale manually with my player and see the image, ffmpeg does the same whilst its encoding - therefore it would see the same image I see and build the encode based on that, but its as though the rendering engine ffmpeg uses is different/not as good.

Is there a way to get around this issue?

Can we achieve similar by a different technique? Such as editing the metadata of the Original Raw A1 and setting the Width:Height - making any player open the video at that size unknowingly upscaling it on playback.

My use case for this is I am trying to simulate dimensions recognized in most major video hosts - any video below a threshold wont be encoded by the host with certain settings.

cecilli0n
  • 339

1 Answers1

1

As you said your original video is raw, means its not compressed, when upscaled manually using your player, its still uncompressed but interpolated. means its still at highest quality. But -crf 24 is high compression, if you want your video look like the upscaled raw one, you can try -crf 19 or lower.