What is the best way to downscale mp4 video while keeping it as sharp as possible?

Solution 1:

114x150 is incredibly small considering the size of the source and I'm not sure if any scaling method will give you a satisfactory result. That being said you can experiment with the -sws_flags option in ffmpeg.

ffmpeg -i input -filter:v scale=114:-1 -sws_flags lanczos output

This is just an example: I'm not suggesting that lanczos is going to be your best bet. Default is bicubic. See the full list at ffmpeg -h full.

Also remember to provide a high enough quality that compression artifacts don't interfere. See the FFmpeg and x264 Encoding Guide for examples.

Another option, although probably not a great suggestion, is to try the unsharp filter.