Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Mehrere *.m4a in ein *.m4b konvertieren? (https://www.delphipraxis.net/176460-mehrere-%2A-m4a-ein-%2A-m4b-konvertieren.html)

MartinK 6. Sep 2013 13:02

Mehrere *.m4a in ein *.m4b konvertieren?
 
Mein Ziel wäre es "mehrere" (vom benutzer ausgewählte) *.m4a Audiofiles in ein *.m4b zusammen zu mergen.

Mit Abstand am liebsten wäre es mir wenn das mit FFMpeg per Kommandozeile mögliche wäre, denn das verwende ich in meinem programm ohnehin.
Die Kommandozeile würde ich in meinem Tool zusammenbasteln und passend an FFMPeg übergeben.
Wenn es eine andere (bessere?) Lösung gibt wäre auch das ok

Wichtig ist mir
- erstellte *.m4b muss kompatibel zu iTunes sein.
- Chaptermarken werden automatisch anhand jedes gemergten Files eingefügt

Selber programmieren würde ich vermutlich ohnehin dazu
- die begrenzung nur auf eine gewisse Anzahl zu mergender Files, da *.m4b ja eine Größenbegrenzung hat. In dem fall würden mehrere *.m4b's erstellt
- Integration Cover und Tags

geht das? Hat im speziellen jemand eine passende ffMpeg Kommandozeile parat welche das erledigt ?

Danke und lG
Martin

Dust Signs 7. Sep 2013 11:11

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Hallo!

Soweit mir bekannt unterstützt ffmpeg diese Ein-/Ausgabeformatkombination nicht. Versuch mal MP4Box aus GPAC.

Beste Grüße
Dust Signs

jensw_2000 9. Sep 2013 06:38

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Für M4Bs benutze ich den iABMaker von Michael Lindemann.

Das Tool ist kostenlos, werbefrei und funktioniert zuverlässig.
Kapitelmarken und Cover werden unterstützt.
Die Verwaltung via iTunes sowie Sync und Wiedergabe auf den Geräten klappt problemlos.

Der Support ist super. Meine beiden Wünsche hat er unkompliziert innerhalb von ein paar Tagen eingebaut.

Auf der Homepage ist das Setup scheinbar nicht verlinkt.
Daher hier der Deeplink, den er mir damals auf Anfrage geschickt hat.
http://rippme.a-l.de/setupiabmaker.exe

MartinK 11. Sep 2013 09:38

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Danke für die Tipps !
da ich das ganze in mein eigene Delphi-Project integrieren möchte, ist wohl "MP4Box" das Tool der Wahl und ich werde das versuchen

eine mir ganz gut erscheinende Anleitung die man das Tool bedient verlinke ich mal hier http://froebe.net/blog/2009/12/24/ho...t-can-be-done/

...mal sehen ob das klappt.

lG M

MartinK 11. Sep 2013 15:54

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Good news: Das automatisierte Erstellen eines QuickTime kompatiblen AudioBooks scheint zu funktionieren
Ich beschreibe hier mal meinen Weg

1.) Folgende 2 Kommandozeilen Programme (Freeware) werden benötigt
- mp4box.exe
- mp4chaps.exe
================================================== =====
2.) Generierung der Audiobookdatei per folgender Kommandozeilen-befehle für DOS/Windows
2.a) Zusammenfügen mehrerer Audiodateien (*.aac, *.mp4, *.m4a) in eine gemeinsame Audiodatei
-> mp4box -add "Kapitel1.m4a" -cat "Kapitel2.m4a" -chap track.chapters Output.mp4
Wichtig: das Erste Kapitel mit dem "-add" Befehl erstellen. Die weiteren Kapitel mit dem "-cat" Befehl anhängen (=concat)!
Output.mp4 ist die dabei erstellte Datei welche alle Chapter zusammen enthält. Es geht angeblich sogar Eingangsdateien verschiedener audioformate zu kombinieren

Wichtig: Die Chapter-Informationen müssen dem Tool anhand einer (Text)-datei übergeben werden. Dies erfolgt mit dem Befehl "-chap track.chapters"
Aufbau der Datei track.chapters (hier für 2 Kapitel da 2 dateien)
-----
CHAPTER1=00:00:00.000
CHAPTER1NAME=Chapter 001
CHAPTER2=00:05:17.000
CHAPTER2NAME=Chapter 002
-----
Also immer 2 Zeilen je Chapter. Eine für die Sprungmarke wo das Chapter beginnt, die nächste für die angezeigte "Caption" des Chapters
Die Chapterzeiten sind in hh:mm:ss.ms
Dabei ist das erste Chapter immer bei 0 sec
Das zweite beginnt am Ende des ersten (Länge des ersten Chapters einsetzen)
Das Dritte beginnte am Ende des zweiten (Länge des ersten und zweiten Chapters zusammen)
usw
Die Chapternamen dürften selbsterklärend sein
================================================== =====
2.b) ChapterInformationen in QuickTime-Format umwandeln, damit es von ITunes, QuickTime und den Apple Musik-Apps verstanden wird
-> mp4chaps -c -QuickTime "Output.mp4"
================================================== =====
3.) Die erstellte Datei einfach in das bei iTunes geforderte *.m4b umbenennen (Move-Befehl mit "überschreiben")
-> move /y AllInOne.mp4 AllInOne.m4b


Eine Umsetzung in eine Delphi-Programm sollte damit kein Problem mehr darstellen (ShellExecute....)

have phun
Martin

MartinK 17. Sep 2013 15:55

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Ich habe das ganze inzwischen in Delphi-Code umgesetzt und es funktioniert scheinbar auch gut und v.a. schnell
Was ich (mit mp4box und mp4chaps) noch nicht hinbekommen habe, ist das für das *.m4b Audiobook ein Coverbild mit angezeigt wird. :(

Ich kann das Cover zwar in das gemergte *.mp4 File integrieren (verwende dazu Audiogenie3)
sobald ich die datei aber in *.m4b umbenenne erkennen die Player das Coverbild nicht mehr.
Nachträgliches Schreiben des Cover-pictures mit Audiogenie3 geht ebenso nicht, da AG3 dieses Format leider nicht unterstützt.

Hat hierzu noch jemand eine zündende Idee oder ein Kommandozeilentool welches das beherrscht?

lG M

MartinK 20. Sep 2013 10:25

AW: Mehrere *.m4a in ein *.m4b konvertieren?
 
Und... manchmal liegt die Lösung so nah...
das Paket "mpeg4ip" beinhaltet neben "mp4chaps.exe" auch noch "mp4tags.exe" ;)
================================================== =====
4.) Der erstellten *.m4b Datei ein Coverbild beifügen
-> mp4tags -P "Picture.png" output.m4b
(neben *.npg habe ich auch *.jpg getestet, geht ebenfalls)



Und hier noch ein kleiner Bugfix des 3.ten Schrittes (dateiname war nicht ans beispiel angepasst)
================================================== =====
3.) Die erstellte Datei einfach in das bei iTunes geforderte *.m4b umbenennen (Move-Befehl mit "überschreiben")
-> move /y output.mp4 output.m4b


lG M


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz