Schneide MP3 auf die ersten 30 Sekunden


Answers

Wenn Sie die ersten 30 Sekunden ENTFERNEN möchten (und den Rest behalten), dann verwenden Sie dies:

ffmpeg -ss 30 -i inputfile.mp3 -acodec copy outputfile.mp3
Question

Ursprüngliche Frage

Ich möchte in der Lage sein, eine neue (vollständig gültige) MP3-Datei aus einer vorhandenen MP3-Datei zu generieren, die als Vorschau verwendet werden kann - Try-Before-You-Buy-Stil. Die neue Datei sollte nur die ersten n Sekunden der Spur enthalten.

Nun, ich weiß, ich könnte einfach den Stream bei n Sekunden zerlegen (Berechnung aus der Bitrate und Header-Größe), wenn die Datei geliefert wird, aber das ist ein bisschen schmutzig und eine echte PITA auf einer VBR-Spur. Ich möchte in der Lage sein, eine richtige MP3-Datei zu erzeugen.

Irgendwelche Ideen?

Antworten

mp3split und ffmpeg sind beide gute Lösungen. Ich habe ffmpeg gewählt, da es üblicherweise auf Linux-Servern installiert ist und auch für Windows problemlos verfügbar ist . Hier noch einige gute Kommandozeilenparameter zum Erzeugen von Vorschaubildern mit ffmpeg

  • -t <seconds> nach der angegebenen Anzahl von Sekunden
  • -y Erzwingt das Überschreiben der Datei
  • -ab <bitrate> setzt die Bitrate zB -ab 96k
  • -ar <rate Hz> Einstellung der Abtastrate zB -ar 22050 für 22,05kHz
  • -map_meta_data <outfile>:<infile> kopiert die Track-Metadaten von der Infile in die Outfile

Anstelle der Einstellung -ab und -ar können Sie die ursprünglichen Einstellungen für die Spur wie von Tim Farley mit

  • -acodec copy



Genau wie gesagt, ich hatte eine wirklich schlimme Zeit mit ffmpeg, mptsplit und mp3cutter auf CentOS, die alle "Header Missing" melden. Also musste ich mit der MP3-Klasse und etwas Mathe nach der Dateigröße suchen.




Nur ein Gedanke: Vielleicht möchten Sie den Anfang des ursprünglichen Songs überspringen. Sagen wir, Sie können 30 Sekunden Stück ab dem dritten Teil des Songs verwenden.
In einigen Songs erzählen die ersten 30 Sekunden nicht viel, da es sich nur um einen "Aufbau der Szene" handelt - zum Beispiel Pink Floyds Shine On You Crazy Diamond .




Dieser Befehl funktioniert auch perfekt. Ich habe meine Musik von 20 auf 40 Sekunden verkürzt.

-y: Erzwingt das Überschreiben der Ausgabedatei.

ffmpeg -i test.mp3 -ss 00:00:20 -to 00:00:40 -c copy -y temp.mp3



Sie können mp3cut verwenden:

cutmp3 -i foo.mp3 -O 30s.mp3 -a 0:00.0 -b 0:30.0

Es ist in Ubuntu Repo, also nur: sudo apt-get install cutmp3 .