Well ... it looks like it's all about the versions.
Note rogerdpack is what made me systematically try old versions of ffmpeg, etc. I gave my answer +1, but I think the answer should be such that it is a complete solution to the question, so I am writing my own answer. I hope you understand rogerdpack :-)
Anyway, here is the combination that worked for me (I hope the post url is ok):
32-bit version of FFMPEG version 2.5.2 (downloaded from http://ffmpeg.zeranoe.com/ )
Avisynth 2.5.8 (download from official build )
MSharpen plugin for avisynth (downloaded from MSharpen Official Link ).
Be sure to copy the MSharpen.dll file to the avisynth plugin folder and restart the computer. In my case, the plugin folder is C:\Program Files (x86)\AviSynth 2.5\plugins .
BTW I am running Windows 7 Ultimate Service Pack 1 (64 bit) with Intel i5-3570K, 16GB RAM, etc. Perhaps I should have said that in the OP.
What is it worth, here is my solution.
The location of the folders and files is as follows:
I have a main folder; the name does not matter - name it "MAIN". Inside the "MAIN" I have 2 files and 2 folders.
2 files:
- ffmpeg.exe (version 2.5.2, 32-bit)
- Batchconvert.bat
2 folders:
- Source (contains all video files)
- Target (will contain encoded video output files)
The BatchConvert.bat file has the following text:
for %% a in ("Source *. *") do @echo DirectShowSource ("%% a") → "batchScript.avs" && & &&& & & @echo MSharpen (10, 120) → "batchScript.avs" && & & ffmpeg -i "batchScript.avs" -n -c: v libx264 -crf 24 -c: a libmp3lame -b: a 192k "Target \ %% ~ na.mp4" && & &&& & del "batchScript.avs" pause
A batch file basically scans all files from the "Source" and encodes them in the "Target", and it skips files that have already been encoded. It does not modify the files in the "Source" at all, just in case.
All that remains to be done is to copy all the videos to Source and run BatchConvert.bat!