Teilen einer Audiodatei in Stücke einer bestimmten Länge

16

Ich habe mehrere lange Audiodateien (jeweils 80 Minuten; m4a) und möchte, dass sie in 5- oder 10-Minuten-Teile aufgeteilt werden.

Ich sehe viele Fragen zum Teilen einer Audiodatei bei längeren Pausen, Tönen usw., kann jedoch keine zu dieser einfachen Operation finden. Kennt jemand einen einfachen Weg, um dies zu tun?

Natürlich ist etwas Automatisches und eine Befehlszeile in Ordnung - sogar bevorzugt.

Danke im Voraus!

Andrew Cheong
quelle

Antworten:

20

Mit dem jüngsten ffmpeg (laden Sie eine statische Aufladung von hier ):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

Dies verwendet den Segment-Muxer und kopiert die Bitströme. Wenn Ihre Datei Audio- und Videostreams enthält, können Sie den Videostream mit deaktivieren -vn.


Hier ist ein Einzeiler, Sie müssen nur Ruby und FFmpeg installieren:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

Führen Sie das einfach in demselben Ordner aus, in dem es sich in.m4abefindet. Der Audio-Bitstream wird kopiert, daher dauert die Ausführung wahrscheinlich weniger als ein paar Sekunden.

Erklären:

  • 4800 Sekunden ist die Länge der Audiodatei (80 Minuten × 60 Sekunden), also liegt unser letzter Split bei 4500 (4800 - 300 Sekunden).
  • Wir gehen von 0 auf 4500 und teilen uns alle 300 Sekunden (5 Minuten × 60 Sekunden).
  • FFmpeg startet zur von angegebenen Zeit -ss
  • Und es wird für die von angegebene Zeit kopiert -t
  • Es werden mehrere Ausgabedateien mit dem Namen geschrieben out-<x>.mp4, wobei <x>die Startzeit in Sekunden ist.
slhck
quelle
Vielen Dank! Ist Ihr Befehl für UNIX oder funktioniert er auch unter Windows? Ich habe eine Cygwin-Installation, es sollte also keine Rolle spielen, aber ich frage mich nur. Ich werde es versuchen, wenn ich nach Hause komme.
Andrew Cheong
Dies funktioniert nativ unter Linux (und Unixen, auf denen Ruby installiert ist) und sollte auch unter Windows funktionieren - Sie benötigen lediglich Ruby und FFmpeg, aber dafür brauchen Sie Cygwin nicht. Es gibt auch Ruby Installer- und FFmpeg-Programme für Windows. Nun, der FFmpeg-Befehl könnte ohne Ruby mithilfe von Windows-Batchdateien oder PowerShell automatisiert werden, aber ich bin kein Windows-Benutzer. Deshalb habe ich Ruby verwendet (da es mit Linux und OS X geliefert wird). Vielleicht kann jemand mit Windows-Batch-Erfahrung den obigen Ruby-Befehl umschreiben?
Slhck
Ich habe Cygwin, weil ich mich nicht an die Windows-Befehlszeile gewöhnen kann. Ich denke, ich habe Ruby und FFMPEG bereits dort installiert, so sollte ich in der Lage sein, Ihren Befehl zu verwenden. Aber ja, eine Windows-Version könnte jemandem helfen, diese Frage zu lesen. +1 für jetzt; werde akzeptieren, wenn ich es versuche.
Andrew Cheong
2
Wenn Ihre m4a-Datei wie ich einen Videostream enthält (in meinem Fall ein einzelnes Bild), müssen Sie den -vnSchalter hinzufügen , um nur den Audiostream auszuwählen. Wenn Sie den Videostream behalten möchten, müssen Sie ihn in eine Datei mit der Erweiterung .mp4 ausgeben.
Rob Church
2

Ich habe selbst eine Lösung dafür gesucht. Der einfachste Weg, dies zu tun, ist über MP4Box :

mp4box -split 300 infile.m4a

Wobei "300" die Zeit in Sekunden ist. MP4Box schreibt automatisch nummerierte Ausgabedateien.

(Sie müssen nicht die gesamte große GPAC-Anwendung installieren. Dies sind die Dateien, die Sie aus dem Archiv extrahieren können, damit sie funktioniert: js.dll; libeay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)

dfkt
quelle
2

Es ist schon eine Weile her, dass diese Frage gestellt wurde, aber nachdem ich mit Ruby und ffmpeg herumgespielt hatte, entschied ich, dass es einen einfacheren Weg geben muss, dies in Windows zu tun, und ich stellte fest, dass es einen gibt.

Laden Sie Audacity herunter und installieren Sie es

Erstellen Sie eine Textdatei, in der Sie sie finden, und fügen Sie die folgende Zeichenfolge ein: (Intervalle von 300 Sekunden, dh 5 Minuten, 10 Minuten entsprechen 600 Intervallen usw.)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

Vergewissern Sie sich, dass die Anzahl der Intervalle größer ist als die Gesamtlänge Ihrer Audiodateien. Ich habe diese erstellt, die mehr als drei Stunden läuft und für meine Anforderungen ausreichend lang ist. Fügen Sie mehr hinzu, um Ihren Anforderungen zu entsprechen.

Importieren Sie die Audiodatei in Audacity und nehmen Sie die gewünschten Auswuchten und Bearbeitungen vor. Klicken Sie dann auf Datei> Labels> Labels importieren

Wählen Sie Ihre Textdatei aus, wählen Sie dann gleichzeitig die Beschriftungs- und die Audiospur aus und klicken Sie auf Datei> Mehrere exportieren.

Ändern Sie den Dateityp, in den Sie exportieren möchten, und passen Sie die Einstellungen an. Wählen Sie dann den Zielordner aus.

Ich ändere das Nummerierungsmuster immer in Nummerierung nach Dateinamenpräfix und gebe den gewünschten Dateinamen in das Feld ein und das Programm fügt die Nummern hinzu, drücke Export und Viola!

C. Hamilton
quelle
-1

Audacity herunterladen - Es ist ein kostenloses Audio-Tool, das genau das tut, was Sie brauchen, und es ist völlig kostenlos und einfach zu bedienen. http://audacity.sourceforge.net/

JohnnyVegas
quelle
2
Gibt es eine Möglichkeit, Audacity dazu zu bringen, dies automatisch zu tun? Ich möchte nicht mehrere Dateien manuell in 16 Teile teilen, indem ich 5-Minuten-Teile mit der Maus auswähle, sie ausschneide, zum Menü gehe, die Dateien speichere und so weiter.
Slhck
Ich habe bereits Audacity. Wenn es also einen automatischen Weg gibt, lass es mich bitte wissen!
Andrew Cheong