GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verbinden Sie mehrere MP3-Dateien (verlustfrei)

Sie können dies programmgesteuert mit dem concat-Demuxer von ffmpeg tun.

Erstellen Sie zuerst eine Datei mit dem Namen "inputs.txt" mit Zeilen wie "

".
file '/path/to/input1.mp3'
file '/path/to/input2.mp3'
file '/path/to/input3.mp3'

...etc. Führen Sie dann den folgenden ffmpeg-Befehl aus:

ffmpeg -f concat -i inputs.txt -c copy output.mp3

Es ist möglich, input.txt einfach mit einer bash for zu generieren -Schleife (dies kann wahrscheinlich auch mit einer Windows-Batch-For-Schleife durchgeführt werden), vorausgesetzt, Sie möchten die Dateien in alphabetischer Reihenfolge zusammenführen. Dies wird jedem entsprechen *.mp3 im Arbeitsverzeichnis, kann aber leicht geändert werden:

for f in ./*.mp3; do echo "file '$f'" >> inputs.txt; done
##  Alternatively
printf "file '%s'\n" ./*.mp3 >> inputs.txt

Es ist auch möglich, das Ganze in einer Zeile zu erledigen, wodurch die Erstellung einer Zwischenlistendatei mit Prozesssubstitution vermieden wird:

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mp3) -c copy output.mp3

Verwenden Sie ffmpeg oder ein ähnliches Tool, um alle Ihre MP3s in ein einheitliches Format zu konvertieren, z. B.

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

Verketten Sie dann zur Laufzeit Ihre Dateien:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

Führen Sie sie schließlich durch das Tool MP3Val, um Stream-Fehler zu beheben, ohne eine vollständige Neucodierung zu erzwingen:

mp3val output.mp3 -f -nb
(Quelle)


Linux
  1. Warten Sie, bis der Download mehrerer Dateien abgeschlossen ist?

  2. Dd:Mehrere Eingabedateien?

  3. Verbinden mehrerer Felder in Textdateien unter Unix

  4. Wie gzipe ich mehrere Dateien in eine gz-Datei?

  5. Tail mehrere entfernte Dateien

Kopieren von Dateien unter Linux

Cp-Befehl in Linux (Dateien kopieren)

So benennen Sie eine Datei (en) in Linux um

So verbinden Sie mehrere Zeilen in einer Datei in Linux zu einer

So verbinden/verschmelzen Sie mehrere Audiodateien zu einer in Linux

Wie kann ich mehrere Dateien in VIM bearbeiten?