Is there a way of removing exif for several files at once?

ffmpeg -i in.mov -map_metadata -1 -c:v copy -c:a copy out.mov worked great for me as I wanted to remove date-stamped details from an MTS video file, but I have to do it from a list of videos and wanted to know if there was a script I could use to avoid processing each file (specify outputs "manually") one by one and get outputs like "video 1.MTS, video 2.MTS,..." and so on.


I ended up going with for f in /path/*.MTS; do ffmpeg -i "$f" -map_metadata -1 -c:v copy -c:a copy "$f copy.MTS" done and came up with files like "video 1.MTS copy.MTS" which work just fine and with no timestamp.

There might be a more logical way to do it but as I'm no expert when it comes to shell script I'm gonna stick with this one in case I need it again.

Thanks to Graham Miln for helping, cheers everyone !


See Run script on multiple files for a few approaches to this problem. Given the accepted answer in the linked question, you might write:

for f in /input_path/*.MTS; do
  ffmpeg -i "$f" -map_metadata -1 -c:v copy -c:a copy "out/$f"


You could use Automator to allow easier selection of the input files, see user3439894's answer:


Many Approaches

Other approaches are discussed in these questions:

  • Thanks for the quick answer! The automation command seem to work fine event though I had to change the "out" part for for f in /my_input_path/*.MTS; do ffmpeg -i "$f" -map_metadata -1 -c:v copy -c:a copy "$f" done but then for an unknown reason my videos are left with 0 octets, empty, can't be played... I ran some tests and it seems like I can't just overwrite the files but really create new ones, I know it must only be a matter of replacing the "$f" part with something but I have no clue what... Any ideas ? – Jeannot Lapin Nov 24 '18 at 20:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .