Page 1 of 1

Re-encoding Oricutron captures for Youtube

Posted: Wed Aug 01, 2018 11:44 pm
by Xeron
Several people have found that if you upload Oricutron video captures direct to youtube, it re-encodes them into a crappy mess, even though the original video was losslessly encoded (and thus pixel perfect). The issue is that the videos are low resolution (240x224), so youtube encodes them with low quality.

I've found a nice solution. If you use ffmpeg (available ready packaged for most operating systems), with the following parameters:

Code: Select all

ffmpeg -i oricutron_capture.avi -c:v libx264 -preset slow -crf 18 -c:a copy -pix_fmt yuv420p -vf scale=720:672:flags=neighbor encoded_for_youtube.mkv
... the end result is much better when uploaded to youtube, i.e. you get this:

instead of this:

Re: Re-encoding Oricutron captures for Youtube

Posted: Thu Aug 02, 2018 7:05 am
by Dbug

Would be better to have the option directly in Oricutron, but that should help having less crappy videos indeed :D

Re: Re-encoding Oricutron captures for Youtube

Posted: Thu Aug 02, 2018 10:28 pm
by Xeron
Just a quick additional note, if you change the "scale=720:672:flags=neighbor" parameter to "scale=960:672:flags=neighbor", you'll also give the video a bit of a horizontal stretch and make it look closer to the aspect ratio of a real Oric:

Re: Re-encoding Oricutron captures for Youtube

Posted: Fri Aug 03, 2018 7:31 am
by iss
Thanks for the useful tips!
Additionally if you need to cut your video use options "-ss hh:mm:ss" to set start time and/or "-t hh:mm:ss" to set duration. :wink:

Re: Re-encoding Oricutron captures for Youtube

Posted: Wed Sep 05, 2018 1:58 am
by NekoNoNiaow
This is indeed a nice trick, however there is more to this issue than just the encoding parameters.

YouTube uses bit per pixel values for each resolution (240p, 360p, 720p) which are likely proportional to the number of bits of the resolution.
In clear, this means that it should use the same bit per pixel values for lower resolutions than for higher ones. Inversely, this means that doubling a low resolution video to a high resolution one by simply enlarging the pixels will increase the bit per retro-pixel values for that video and thus the perceived quality.

To verify it you can do the following experiment:
  • Record a 240p video from an emulator.
  • Expand that video to 720p, without any filtering, effectively triple every pixel horizontally and vertically.
  • Upload that video to YouTube.
And you should notice that the pixels of the original video are perfectly visible on the 720p video: YouTube has allocated more bits per (retro) pixel.

You can also do a quick YouTube search for SD and HD resolutions of the same retro video : invariably the SD videos will be much fuzzier and less precise than the HD ones even though in theory the SD resolution should perfectly encode the original content.