Omzetten FLAC-bestanden naar MP3

Auteur: Michael Boelen

Met behulp van de ffmpeg kunnen we eenvoudig FLAC-bestanden omzetten naar het MP3-formaat. Dit is een mooie gelegenheid om de terminal te gebruiken. We kunnen dan namelijk eenvoudig alle bestanden in een werkmap omzetten met behulp van een zogeheten for-loop. Hiermee vertellen we de shell dat we voor ieder bestand dat eindig op .flac we een actie willen uitvoeren.

for filename in *.flac; do ffmpeg -i "$filename" -ab 320k -map_metadata 0 -id3v2_version 3 "${filename%.flac}.mp3"; done

Het commando begint dus met het commando for en tussen do en done zetten we het relevante commando. Echter we zullen ook de bestandsnaam moeten weten om aan ffmpeg door te geven. Die bestandsnaam slaan we op in filename. Later gebruiken we deze nogmaals, maar dan in een speciale constructie (${filename%.flac}.mp3) die eerst de extensie .flac van de bestandsnaam af haalt en vervolgens plakken we er .mp3 achter.

Bij het uitvoeren zullen we zeer uitgebreide informatie zien van ffmpeg.

$ for filename in *.flac; do ffmpeg -i "$filename" -ab 320k -map_metadata 0 -id3v2_version 3 "${filename%.flac}.mp3"; done
ffmpeg version N-120818-gf62d878911-20250822 Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 15.1.0 (crosstool-NG 1.27.0.79_8f49ec5)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libfribidi --enable-gmp --enable-libxml2 --enable-openssl --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libfreetype --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-libxcb --enable-xlib --enable-vulkan --enable-libshaderc --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-libplacebo --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-liboapv --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --disable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libdrm --enable-vaapi --enable-libvidstab --enable-libvvenc --enable-whisper --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs='-ldl -lgomp' --extra-ldflags=-pthread --extra-ldexeflags=-pie --cc=x86_64-ffbuild-linux-gnu-gcc --cxx=x86_64-ffbuild-linux-gnu-g++ --ar=x86_64-ffbuild-linux-gnu-gcc-ar --ranlib=x86_64-ffbuild-linux-gnu-gcc-ranlib --nm=x86_64-ffbuild-linux-gnu-gcc-nm --extra-version=20250822
  libavutil      60. 10.100 / 60. 10.100
  libavcodec     62. 13.100 / 62. 13.100
  libavformat    62.  4.100 / 62.  4.100
  libavdevice    62.  2.100 / 62.  2.100
  libavfilter    11.  5.100 / 11.  5.100
  libswscale      9.  2.100 /  9.  2.100
  libswresample   6.  2.100 /  6.  2.100
Input #0, flac, from 'Fuimadane - Dómstaðr - 07 Valr.flac':
  Metadata:
    TITLE           : Valr
    ARTIST          : Fuimadane
    DATE            : 2024
    COMMENT         : Visit https://fuimadane.bandcamp.com
    ALBUM           : Dómstaðr
    track           : 7
    album_artist    : Fuimadane
    ISRC            : DEAR42469790
  Duration: 00:05:27.33, start: 0.000000, bitrate: 894 kb/s
  Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
  Stream #0:1: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 700x700 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)
Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
  Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[swscaler @ 0x7a3ac8013fc0] deprecated pixel format used, make sure you did set range correctly
Output #0, mp3, to 'Fuimadane - Dómstaðr - 07 Valr.mp3':
  Metadata:
    TIT2            : Valr
    TPE1            : Fuimadane
    TYER            : 2024
    COMMENT         : Visit https://fuimadane.bandcamp.com
    TALB            : Dómstaðr
    TRCK            : 7
    TPE2            : Fuimadane
    ISRC            : DEAR42469790
    TSSE            : Lavf62.4.100
  Stream #0:0: Video: png, rgb24(pc, gbr/unknown/unknown, progressive), 700x700 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 90k fps, 90k tbn (attached pic)
    Metadata:
      encoder         : Lavc62.13.100 png
      comment         : Cover (front)
  Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s
    Metadata:
      encoder         : Lavc62.13.100 libmp3lame
[out#0/mp3 @ 0x59c4ba161e80] video:1072KiB audio:12788KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.009258%
frame=    1 fps=0.2 q=-0.0 Lsize=   13861KiB time=00:00:00.00 bitrate=10322983272.7kbits/s speed=2.68e-06x elapsed=0:00:04.10    

We hebben nu een MP3-bestand dat ongeveer een derde is qua bestandsgrootte en toch nog van goede kwaliteit.

$ ls -l
-rw-rw-r-- 1 michael michael  36608726 aug 22 14:47 'Fuimadane - Dómstaðr - 07 Valr.flac'
-rw-rw-r-- 1 michael michael  14361563 aug 23 13:03 'Fuimadane - Dómstaðr - 07 Valr.mp3'

Dit artikel is gepubliceerd op .