MP3-Dateien zusammenführen und Indizes beibehalten

432
Humam Helfawi

Ich habe mehrere MP3-Dateien:

0001.mp3 0002.mp3 ........ 9999.mp3 

Jede Datei hat eine eigene Größe / Länge, die sich von den anderen unterscheidet.

Ich möchte sie in einer einzigen MP3-Datei zusammenführen. In derselben Zeit, in der die Indexdatei (txt, xml ...) gespeichert wird, die enthält, wo die einzelnen Dateien in der einzelnen Ausgabedatei (BigOutput.mp3) gestartet werden.

Zum Beispiel:

0001.mp3 starts at the 0 Byte of BigOutput.mp3 0002.mp3 starts at the 65874th Byte of BigOutput.mp3 0003.mp3 starts at the 987485th Byte of BigOutput.mp3 and so on.. 

Gibt es dafür eine bekannte Lösung / Programm oder muss ich meine eigene schreiben?

0
Sie können so etwas wie [Mp3Wrap] (http://mp3wrap.sourceforge.net/) verwenden, um die MP3s zu "verketten", aber ich bin nicht sicher, ob ATM die gewünschte Textausgabe erhält. Wenn Sie diesen Text nur zum späteren Aufteilen der Datei wünschen, ist Mp3Wrap perfekt für Sie, da es für diesen Zweck gedacht ist und [Mp3splt] (http://mp3splt.sourceforge.net/) die Aufteilung von Mp3Wrapped-Dateien unterstützt in ihre ursprünglichen Dateisätze. 3D1T0R vor 6 Jahren 0

1 Antwort auf die Frage

0
T Nierath

Dies ist eine Bash-Lösung. Ich habe das eigentlich nicht an echten Dateien getestet, aber es sollte funktionieren. Sie lesen die Dateigröße einfach mit den Standardwerkzeugen aus und fügen sie zusammen, um den aktuellen Index zu erhalten. Die erste Datei wird als Sonderfall behandelt.

Sie würden dies als Skript mit allen Dateinamen aufrufen, die als Argumente in verketteter Reihenfolge angegeben werden.

#!/bin/bash  idx=0 idx_txt="idx.txt"  echo "$1 starts at 0" >$idx_txt shift  for file in "$@" ; do idx=$(( idx + $(ls -l|grep "$file"|awk '') )) echo "$file starts at $idx" >>$idx_txt done 
Vielen Dank, aber Mp3 hat keine Kopf- und Fußzeilen, wodurch sich die tatsächliche Reihenfolge der Bytes ändert. Humam Helfawi vor 6 Jahren 0
Ich nahm an, dass Sie wirklich nur "Katze" sind, da dies scheinbar funktioniert T Nierath vor 6 Jahren 0