I have a few hundred short MPEG files (each ~10 seconds) that I need to batch convert to AVI. What would be the best way to do this?
I've tried using WinFF but the quality was very subpar.
With FFmpeg, which will not re-encode the videos in any way and therefore preserve quality:
ffmpeg -i file.mpg -c:v copy -c:a copy file.avi
In a batch file, e.g. for Linux:
while IFS= read -d $'\0' -r file ; do
ffmpeg -i "$file" -c:v copy -c:a copy ${file%%.mpg}.avi
done < <(find . -iname '*.mpg' -print0)
In a batch file, e.g. for Windows:
for /r %%i in (*.mpg) do (
ffmpeg -i %%i -c:v copy -c:a copy %%i~n.avi
)
The last example requires the Windows build of ffmpeg.
SUPER © (Simplified Universal Player Encoder & Renderer) can do it. One of its features is multiple batch file processing by simple file drag and drop, and it's freeware.
MPEG Streamclip is a powerful free video converter, player, editor for Mac and Windows.