Here's a nice little ffmpeg command I found over at lbry that compresses a video file into a good quality small sized video.
All you need to do is have ffmpeg installed, change input.avi to your video input file and output.mp4 to your desired output filename/format.
ffmpeg -i input.avi -c:v libx264 -crf 21 -preset faster -pix_fmt yuv420p -maxrate 5000K -bufsize 5000K -vf 'scale=if(gte(iw\,ih)\,min(1920\,iw)\,-2):if(lt(iw\,ih)\,min(1920\,ih)\,-2)' -movflags +faststart -c:a aac -b:a 160k output.mp4
Quick and easy like it should be. 😁
If you wish to take it one step further in convenience using the command as a script is neat (in this case just the same one command, but you can specify the file directly from the command line).