Skip to content

avoid doubling file extensions in example for recursively batch processing with find? #465

Open
@EG-tech

Description

@EG-tech

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions