![]() |
MP3 files schneiden!
Hallo,
kann mir jemand von euch sagen, wie ich ein Programm schreiben kann, mit dem ich ca. 500 MP3 Files auf die ersten 25 Sekunden automatisch abschneiden kann? Ich habe keine Lust das 500 mal von Hand durchzuklicken. Vielen Dank im Vorraus! Gruß Korg Pa 2x Pro |
AW: MP3 files schneiden!
Bitrate herausfinden, daraus errechnen wie viele Bytes 25 Sekunden sind, Datei entsprechend kürzen und gegebenenfalls noch den MP3-Header entsprechende anpassen.
|
AW: MP3 files schneiden!
MP3 ist nicht kontextabhängig? Also nicht dass nachher er nicht mehr rekonstruieren kann, was kommt, weil er die „Vergangenheit“ nicht kennt.
Und natürlich auf die IDv3 Tags aufpassen. MfG Fabian |
AW: MP3 files schneiden!
Wie meinen? Was heißt in diesem Zusammenhang kontextabhängig? Meinst du das es wie bei dem ein oder anderem Videoformat ist, dass von Frame zu Frame nur die Unterschiede gespeichert werden?
Und mit MP3-Header meinte ich den IDv3-Header und, falls vorhanden, noch einen MP3-Header, der das Dateiformat usw. beschreibt. Ich kenne mich mit dem MP3-Format nicht so gut aus und weiß nicht, was da noch für Header sein können. |
AW: MP3 files schneiden!
Wenn die Datei danach "sauber" sein soll, sollte man nur ganze MPEG-Frames in die geschnittene Datei schreiben. Irgendwo gibt es eine MPEG.pas, da kann man sich anschauen wie das funktioniert.
|
AW: MP3 files schneiden!
Zitat:
MfG Fabian |
AW: MP3 files schneiden!
Hi,
hast du Zugriff auf einen Linux-PC? Mit Linux geht das ganz einfach per Bash-Script. Mit Windows sicher auch irgendwie, allerdings kann ich dir da nicht weiter helfen. So ungefähr (ungetestet! hab's getestet :-) ) dürfte es gehen:
Code:
Liebe Grüße,
for i in *.mp3; do
ffmpeg -acodec copy -t 00:00:25 -i "$i" cut-"$i".mp3; done Valle :-) |
AW: MP3 files schneiden!
Also mit einfach mal ein paar Bytes weg schnibbeln ist es nun wirklich nicht getan :lol:, ein mp3 ist kein Wave. Wie schon vermutet beinhalten mp3 Dateien einzelne zusammengehörige Chunks, öfter auch Frames genannt. Wenn man mitten in so einem schneidet, dürfte das File relativ hin sein - zumindest für Player, die solche Defekte nicht eigenständig richten, was es evtl. geben könnte (Stichwort Streaming).
Man müsste also zumindest die Struktur des Files bis auf Frame-Ebene analysieren, und im Header sollte auch stehen wie lang ein Frame ist. Wenn man dann in ganzen Frames schneidet und den Header anpasst und wieder aufsetzt, sollte man wunderhübsch verlustfrei geschnitten haben. Eine andere, potentiell einfachere Variante, wäre es die Jungs mit der bass.dll zu dekomprimieren, wie ein Wave zu schnibbeln, und neu zu komprimieren. Das ist allerdings in jedem Fall verlustbehaftet, wenn auch ggf. minimal (=praktisch unhörbar). Nur eben frisch fromm frhölich frei einfach Bytes vorne weghauen wird in 99,9% der Fälle zu Restschrott führen. |
AW: MP3 files schneiden!
Zitat:
Deswegen würde ich doppelte Kompression auf jedenfall vermeiden. (Naja, vielleicht bin ich ja auch etwas zu puristisch...) Es gibt aber bereits ein Freeware-Programm, mit dem man Mp3s verlustfrei schneiden kann: ![]() (hässliche Seite, aber brauchbarer Inhalt :) |
AW: MP3 files schneiden!
Zitat:
Ich hätte auch noch eine Software mit einer weniger hässlichen Webseite anzubieten: ![]() Kann das Programm nur empfehlen. Es bietet nicht Unmengen an Features, aber dafür tut es, was es verspricht und ist einfach zu bedienen. |
Dieses Thema wurde am "21. Jun 2010, 03:57 Uhr" von "Christian Seehase" aus dem Forum "Neuen Beitrag zur Code-Library hinzufügen" in das Forum "Multimedia" verschoben.
|
AW: MP3 files schneiden!
Liste der Anhänge anzeigen (Anzahl: 1)
Wie schon gesagt, sollte man die einzelnen Frames auseinanderfriemeln. Man kann auch "einfach so" abschneiden, ist aber nicht so schön. Das macht den meisten Playern (fast) nichts aus, da mp3 (ziemlich) streamingfähig ist. Einen Datei-Header gibt es bei mp3-Dateien nicht, dafür hat jeder Frame einen 4-Byte-Header.
Die Kontextabhängigkeit besteht nur sehr begrenzt, d.h. es gibt wohl die Möglichkeit, dass sich ein Frame ein paar bytes in einem benachbarten Frame ausborgt, aber das ist wohl meistens zu vernachlässigen. Nach dem Schneiden sollte man noch die ID3-tags wieder hinzufügen, was aber nicht wichtig für die Abspielbarkeit der Datei ist. Ein Proof-Of-Concept habe ich vor einiger Zeit mal im Delphi-Forum gepostet - ich häng das auch hier mal an. Bei Dateien mit variabler Bitrate wird die TOC (ein Sprungstellen-Array für korrekte Positionierung) in dem XING-Header nicht korrigiert sondern gelöscht, und die ID3-tags werden auch ignoriert. |
AW: MP3 files schneiden!
Hallo Gausi, ich war mal so frei und habe mir den Anhang heruntergeladen um mir *.mp3-Dateien zu schneiden. Mein OS ist Linux Mint (Ubuntu), damit funktioniert dein Programm nur unter der Voraussetzung es mit Wine (Implementation der WinAPI fuer Linux) installiert zu haben. Zu Delphi habe ich eigentlich ueberhaupt keine Ahnung. Ein wenig Bash unter Linux, das war es dann aber auch schon. Jetzt hat mich natuerlich interessiert, wie sieht es mit
![]() Zitat:
|
AW: MP3 files schneiden!
Da ist bei Linux schon genug vorhanden:
![]() ![]() ![]() die sind in den Mint Repos bestimmt auch vorhanden |
AW: MP3 files schneiden!
Das Programm werde ich sicherlich nicht weiter anpacken. ;)
Wie oben geschrieben, ist das nur als Proof-of-Concept zu verstehen, nicht als wirklich benutzbares Programm. Ob das Ding so, wie es ist und Lazarus kompiliert um Linux-Binaries zu erzeugen, weiß ich nicht. Kann sein, kann auch nicht sein. :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz