
Ich habe mehrere lange Audiodateien (je 80 Minuten; m4a) und möchte sie in 5- oder 10-Minuten-Stücke aufteilen.
Ich sehe viele Fragen zum Aufteilen einer Audiodatei bei längeren Pausen, Tönen usw., kann aber keine zu dieser einfachen Operation finden. Kennt jemand eine einfache Möglichkeit, dies zu tun?
Natürlich ist etwas Automatisches und die Befehlszeile okay – sogar vorzuziehen.
Dank im Voraus!
Antwort1
Mit aktuellem ffmpeg (Download einer statischen Versionvon hier):
ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a
Dabei wird der Segmentmultiplexer verwendet und die Bitströme werden kopiert. Wenn Ihre Datei Audio- und Videoströme enthält, können Sie den Videostrom mit deaktivieren -vn
.
Hier ist ein Einzeiler, Sie brauchen nurRubinUndFFmpegEingerichtet:
ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'
Führen Sie es einfach im selben Ordner aus, in dem in.m4a
es sich befindet. Dadurch wird der Audio-Bitstream kopiert, sodass die Ausführung wahrscheinlich weniger als ein paar Sekunden dauert.
Erklären:
- 4800 Sekunden ist die Länge der Audiodatei (80 Minuten × 60 Sekunden), also liegt unsere letzte Aufteilung bei 4500 (4800 - 300 Sekunden).
- Wir gehen von 0 bis 4500 und teilen alle 300 Sekunden (5 Min. × 60 Sek.).
- FFmpeg startet zur angegebenen Zeit durch
-ss
- Und es wird für die angegebene Zeit kopiert durch
-t
- Es werden mehrere Ausgabedateien mit dem Namen geschrieben
out-<x>.mp4
, wobei<x>
die Startzeit in Sekunden angibt.
Antwort2
Ich habe selbst nach einer Lösung dafür gesucht. Der einfachste Weg, den ich gefunden habe, ist überMP4Box:
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 es funktioniert: js.dll; libeay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)
Antwort3
Es ist schon eine Weile her, seit diese Frage gestellt wurde, aber nachdem ich mit Ruby und ffmpeg herumgespielt hatte, kam ich zu dem Schluss, dass es dafür unter Windows einen einfacheren Weg geben muss, und ich fand, dass es einen gibt.
Laden Sie Audacity herunter und installieren Sie es
Erstellen Sie an einem leicht zugänglichen Ort eine Textdatei und fügen Sie die folgende Zeichenfolge ein: (300-Sekunden-Intervalle, z. B. 5 Minuten, 10 Minuten wären 600 Intervalle 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
Stellen Sie einfach sicher, dass die Anzahl der Intervalle größer ist als die Gesamtlänge Ihrer Audiodateien. Ich habe diese Datei erstellt, die über drei Stunden läuft, was für meine Zwecke lang genug ist. Fügen Sie je nach Bedarf weitere hinzu.
Importieren Sie die Audiodatei in Audacity und nehmen Sie die gewünschten Anpassungen und Änderungen vor. Klicken Sie dann auf Datei>Labels>Labels importieren.
Wählen Sie Ihre Textdatei aus, wählen Sie dann gleichzeitig die Beschriftungsspur und die Audiospur aus und klicken Sie auf Datei > Mehrere exportieren.
Ändern Sie den Dateityp, in den Sie exportieren möchten, passen Sie die Einstellungen an und 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. Das Programm fügt die Nummern hinzu. Ich klicke auf „Exportieren“ und voilà!
Antwort4
MP4Box funktioniert perfekt. Es ist immer cool, wenn man die Dinge vom Terminal aus erledigen kann. Schneller geht das.
Dies ist die Download-Seite: https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ Sie installieren das Programm und können dann vom Terminal aus arbeiten. Mehr ist nicht nötig.
Getestet, Befehl dfkt sagte, funktioniert perfekt: mp4box -split 59 infile.m4a
In meinem Fall wollte ich es in m4a <1 Minute aufteilen, um die Spracherkennung von Google zu vereinfachen.
Audacity kann ganz gut funktionieren, aber in meinem Fall arbeite ich lieber mit Befehlen als mit einer grafischen Benutzeroberfläche. Beste Lösung also für mp4box. Ich gebe keine neuen Informationen, der Verdienst liegt bei dfkt (danke, Mann). Ich bestätige nur, dass es eine großartige Lösung ist.