Description
In the "Batch Processing (Mac/Linux)" section, there's an example variation provided for recursively processing files contained in sub-directories using find
, rather than the standard for
loop for processing within the same directory - this was super helpful to me for a completely different/non-AV batch processing task, but as @kieranjol noted when originally suggesting the current one-liner, the limitation with sending find
output directly into the ffmpeg command with -exec
is that you wind up doubling up on file extensions in the output file name, e.g. filename.mxf.mov
I'm a bit torn here - on the one hand, the current version is definitely simpler/quicker to understand, on the other hand, it's a bit confusing if you're not expecting that output, and trying to batch rename from Bash after-the-fact is a can of regex worms.
It would require a bit more text to explain the loop, but what about:
find input_directory -iname "*.mxf" -print0 | while read -d $'\0' file; do ffmpeg -i "$file" -map 0 -c copy "${file%.mxf}.mov"; done
?
(see e.g. https://askubuntu.com/a/648990)
Activity