Я для upscale использую Avisynth + Megui. Беру исходное видео от эмулятора (240*224@60fps), делаю скрипт со строчкой
pointresize(1232,1080)
В идеале конечно лучше использовать кратное увеличение pointresize(width*4,height*4), но тогда ютуб подгонит видео (ака сделает новый ресайз, и замылит картинку) под свое разрешение. Так же какое то время использовал Lanczos4Resize, но для NES он не очень подходит. Для сжатия видео использую x264 пресет Normal, CRF=20, все остальное по умолчанию.
PS. По поводу конвертации в 30FPS не заморачиваюсь. Кого интересует вот ссылка по теме, сделать не трудно
http://avisynth.org/mediawiki/AssumeFPS