I couldn’t find a good solution to re-encoding video down to 320×240 resolution. I thought Universal Skraper would do this but it doesn’t seem to effect Video’s. So I decided create a drag and drop solution. It is a simple windows batch file that uses ffmpeg to do the encoding.
INSTRUCTIONS:
Download
re-encode videos.bat its on pastebin so you can see the script just click download on site
ffpeg for windows
Grab ffmpeg.exe out of latest release (4.4 at time of writing) you only need that file out of the zip
Copy "1 re-encode videos.bat and ffmpeg.exe to the same folder as you videos

drag video on .bat
Just drag a video .mp4 file on top of .bat file
A Window will open allow it to finish and close itself. It’s surprisingly fast
Examples:
SNES
4.04gb original 640×480, 783 videos
1.39gb re-encoded @ 240×320 no clipped time (about ⅓ the size)
571mb re-encoded @ 240×180 first 20 seconds clipped (⅐ the size)
Gameboy Color
2.86gb 534 videos
375mb re-encoded @ 266×240 (½ resolution of original videos) first 15 seconds clipped (that’s almost ⅛ the original size)
Useful info about using this script
You can change/remove following by editing “1 re-encode videos.bat
”
It will cut down the video to it’s first 15 seconds (personally that’s all I need to determine if I want to try that title) and change/removing the -t 15
The default output video resolution is set to 320x240
(PiBoy DMG’s screen resolution) this can be further decreased as EmulationStation/Batocera themes only play videos at a fraction of that resolution. I recommend inspecting the original videos resolution (right click properties, details) then dividing that. This is done with -s 320x240
you can drop this down to 240x180
or160x120
getting file sizes even smaller. Keep in mind systems like Nintendo DS have a funky resolution so you probably want to cut original in half, I used 240x360
. Make sure your resolutions are devisable by two otherwise ffmpeg will throw off errors. It would be good practice each time you move files into a new system videos folder inspecting a video there then editing .bat with desired resolution. I have provided examples.
The output video is set to 30
fps this is done with -r 30
(this is good enough for previews)
there is a 2 second timer timeout /t 2
towards the end of the script to give the sd card time to catch up. This may be not needed but it made sense to add it.
-n
is needed in the script otherwise it will continue on a endless loop re-encoding the same videos. It will report some error’s at the end but they can be ignored.
If you have a different video format you could easily edit the script and change *.mp4
and %%~ni.mp4
to your format, ffmpeg supports most and can encode just about anything.