How do I remove audio from all files in a directory with ffmpeg?
I suspect you are having problems because you are trying to overwrite the input file with the output, ffmpeg just doesn't work that way. For a single file:

ffmpeg -i input.avi -an -c:v copy output.mkv


To do every file in a directory, you can use a for loop. For every `file.avi``in the working directory, this command will create an output called file-v.mkv:

for f in *avi; do ffmpeg -i "$f" -an -c:v copy "${f/%.avi/-v.mkv}"; done


To do the same thing recursively, you can indeed use find like so:

find . -type f -name *.avi -exec bash -c 'ffmpeg -i "$0" -an -c:v copy "${0/%.avi/-v.mkv}"' {} \;