ffmpeg + bat-файл, например:
for /R %%f in (*.*) do (
ffmpeg -i "%%f" -c:v libx264 -pix_fmt yuv420p -preset slow -crf 20 -c:a aac -b:a 128k "%%f.mp4"
)
pause
Это при условии, что в папке нет файлов, кроме видео, которое нужно сжать.
Если расширение у всех одинаковое, то можно вторую звездочку в (*.*) заменить на него. Например, (*.mp4).
Вы, правда, не уточнили, как именно собираетесь сжимать. В какой кодек и прочее. Поэтому параметры от меня. Они достаточно универсальны.
Handbrake тоже может перебирать файлы в папке, он с интерфейсом.