i have a bunch of .m4a files in one folder, 1000s. can i automate their conversion somehow?

  • ArcaneSlime@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    4
    ·
    2 months ago

    If you’re on linux try navigating to the folder in the terminal and running

    for i in *.m4a; do ffmpeg -i "$i" "${i%.*}.opus"; done

      • ArcaneSlime@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        4
        ·
        2 months ago

        Well sure always back up everything but this command will create new .opus files still leaving the original .m4a in the folder too, so even if it errors just delete the bad .opus files and try to resolve your ffmpeg codec issue before retrying the conversion or trying another method. Ffmpeg in my experience always converts with the “makes a new file with your file(s)” method, I’ve never had it do the “change the file destructively” method.

        • Max-P@lemmy.max-p.me
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          It’ll also error out or prompt to overwrite an existing file unless a flag is passed that tells it to overwrite unattended.

          • ArcaneSlime@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            1
            ·
            2 months ago

            Sure, but if it errors out no harm no foul, and don’t pass any flags to overwrite the input file which I had not included above.

            While I’m thinking about it, what is that flag? Because afaik ffmpeg can’t overwrite and convert the file simultaneously, you have to use a temp file.

            • Max-P@lemmy.max-p.me
              link
              fedilink
              arrow-up
              1
              ·
              2 months ago

              That’s the point: you have to go out of your way to accidentally overwrite your input files with ffmpeg.

              And no it indeed can’t output to the same file as input.