2017-12-10 46 views
1

Guten Tag,FFMPEG trim und concat mp3 ohne Re-Encoding

Ich mag würde wissen, ob es möglich ist, ein Teil einer MP3-Datei in eine anderen ohne Re-Encoding mit ffmpeg zu „verbinden“. Ich muss eine Audio-MP3-Datei mit Stille vorspulen, um sicherzustellen, dass es 60 Sekunden lang ist.

Wenn meine Audiodatei a.mp3 40 Sekunden lang ist, muss ich 20 Sekunden Stille ohne erneute Codierung vorgeben.

Meine Gedanken darüber war eine 60 Sekunden lange Stille mp3 (silence.mp3) bei der gleichen CBR und Sample-Rate meiner Audio (44100 und 40kbps). Ich muss dann diese Datei "trimmen" und concat/mit der Audiodatei (a.mp3) passend verbinden.

Ich habe einen Linux-Skript, das die erforderlichen Sekunden berechnet vorangestellt wird und ich versuchte, den folgenden filter_complex Ausdruck verwenden:

ffmpeg -i silence.mp3 -i a.mp3 -filter_complex "[1]adelay=20000[b];[0][b]amix=2" out.mp3 

Dies funktioniert dauert jedoch zu lange, wie es Re-Encoding durchführt, das eine lange dauert, zu verarbeiten . Ich bin auf der Suche nach einer nicht re Codierung Lösung, die einfach die richtige Größe Teil von silence.mp3 zu a.mp3 verbinden kann. Die Befehle müssten als Parameter die Länge der Stille enthalten, die von der gesamten silence.mp3-Datei verwendet werden muss.

Jede Beratung wird geschätzt.

Antwort

1

Ihre Anforderung ist, nicht neu zu kodieren, und das ist Ihre Methode.

Nehmen wir an, Sie haben ein stilles MP3 der erforderlichen Dauer bereit.

eine Textdatei erstellen, list.txt

file silence.mp3 
outpoint 20 
file main.mp3 

und

ffmpeg -f concat -i list.txt -c copy merged.mp3 

Ich schließe übernehmen die Eigenschaften von silence.mp3 die Hauptaudiodatei entsprechen, in Bezug auf die Kanalanzahl und Abtastrate.

+0

Danke und Ja, die einzige Methode, die ich zur Arbeit bekommen könnte, erfordert eine erneute Codierung, deshalb ist es nicht geeignet, Entschuldigung, wenn das nicht klar war. Das Problem ist, dass ich keine Silence-Datei der erforderlichen Länge habe. Ich habe eine Stille-Datei der Gesamtlänge, die als Teil des Prozesses getrimmt werden muss. – QuickPrototype

+0

Siehe bearbeitete Textdatei. – Mulvya

+0

Seams zu arbeiten, aber meine zwei MP3-Eingabedateien sind CBR und aus irgendeinem Grund wird die Ausgabe als VBR von mediainfo abgeholt. – QuickPrototype