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

  • rollingflower@lemmy.kde.social
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    7 months ago

    No as both are lossy codecs you will always lose quality doing so. You can do it with ffmpeg.

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

    You may want to tweak parameters for bitrate, etc. But this is not needed at all, as AAC had patents that are now expired.

    If you get .flac, .wav or similar lossless music, you should encode that with opus. But lossy to lossy makes nearly no sense (apart from specific players not supporting them)

    • Otherbarry@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 months ago

      If you get .flac, .wav or similar lossless music, you should could encode that with opus.

      Fixed.

      Unless you have a strong stance against people storing lossless files of their music? But I don’t think that’s quite what you meant :)

      • rollingflower@lemmy.kde.social
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        7 months ago

        “If you get .flac, .wav or similar lossless music, you should encode that with opus.”

        I am looking forward to similarly useful discussions XD

    • zurohki@aussie.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 months ago

      GNU Parallel works well for this kind of thing. A lot of audio stuff is single threaded, so unlike video transcoding running multiple conversions simultaneously is a useful thing to do. The command is simpler, too:

      parallel ffmpeg -i {} {.}.opus ::: *.m4a