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 .