Mit FFmpeg FLAC zu M4B mit Kapiteln

Fimbur

U P L O A D E R
Hi,
bisher benutze ich den Audiobook Builder, um FLAC-Dateien in M4B-Dateien zu konvertieren. Das funktioniert auch ohne Probleme. Diesen Vorgang würde ich gerne beschleunigen. Daher meine Frage:
Ist es mit einem Python-Skript möglich, FLAC-Dateien in M4B-Dateien umzuwandeln? Die M4B-Dateien sollen aber auch die entsprechenden Kapitel enthalten. Oftmals sind die FLAC-Dateien nach den Kapiteln benannt. Hier ein Beispiel:
83 - Teil 83 - Folge 6: Das Tor der Toten

Meine konkrete Idee:

Im Ordner Hörbücher befinden sich Unterordner, die FLAC-Dateien enthalten. Das Skript soll in jeden dieser Ordner gehen und die FLAC-Dateien in eine M4B-Datei (mit Kapiteln und 128 kbps) umwandeln.
Mit dem Ordner Hörspiele soll fast dasselbe passieren, nur soll die M4B-Datei in 320 kbps konvertiert werden. Die fertigen M4B-Dateien sollen in einem vordefinierten Ordner landen. Die M4B-Datei soll den Namen des Ordners erhalten, in dem sich die FLAC-Dateien befunden haben.

Ist diese Idee umsetzbar? Oder gibt es einen noch einfacheren Weg?
Ich bin für jede Hilfe dankbar.
Ich wünsche euch eine schöne Woche!
 
Ich weiß nicht ob dir das hilft, aber ich benutze dafür Foobar2000 nach dieser Anleitung:

Klingt kompliziert, aber wenn man erstmal alles eingestellt hat fluppt es schnell durch. Dazu ein Preset für die Convertierung mit Ziel und Bitrate wie ich es gerne hätte.
Hier ist noch eine Anleitung wie man die Kapitel später umbenennen könnte, aber ich würde es vorher machen.

Für "mp4chaps" habe ich zwei .bat Dateien welche mir jeweils m4a oder mp4 Dateien zu m4b umwandeln.
Kann bestimmt relativ unkompliziert für deine Bedürfnisse angepasst werden.
Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!
 
Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Pass Sie die Variablen input_audiobooks_dir, input_hoerspiele_dir und output_m4b_dir an deine Verzeichnisstruktur an.

Alternativ ffpmeg

Linux

sudo apt-get install ffmpeg mp4v2-utils
pip install pydub

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Anleitung zur Verwendung
  1. Speichern Sie das Skript als flac_to_m4b.py
  2. Ändern Sie die Pfade in den Variablen HOERBUCHER_FOLDER, HOERSPIELE_FOLDER und OUTPUT_FOLDER
  3. Führen Sie das Skript aus: python3 flac_to_m4b.py

Funktionen des Skripts​

  • Verarbeitet alle Unterordner in den angegebenen Hauptordnern
  • Extrahiert Kapitelinformationen aus den FLAC-Dateinamen
  • Konvertiert FLAC zu M4B mit den gewünschten Bitraten (128 kbps für Hörbücher, 320 kbps für Hörspiele)
  • Behält die Ordnerstruktur bei und benennt die Ausgabedateien nach den Quellordnern
  • Erstellt korrekte Kapitelmarken in der M4B-Datei

Hinweise​

  • Das Skript geht davon aus, dass die FLAC-Dateien nach Kapitelnummern sortiert sind (entweder durch führende Zahlen oder alphabetische Sortierung)
  • Sie können die Bitraten anpassen, indem Sie die Parameter in den process_all_folders()-Aufrufen ändern
  • Für sehr große Hörbücher benötigt das Skript möglicherweise viel temporären Speicherplatz
Falls Sie Probleme mit der Kapitelerkennung haben, können Sie die Regex-Anpassung im Skript modifizieren, um besser zu Ihren Dateinamen zu passen.

Windows


Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Windows-spezifische Anpassungen​

  1. Pfadformat: Verwendung von r"" für Raw-Strings und Backslashes
  2. Temporärer Ordner: Erstellung eines temporären Ordners für Zwischendateien
  3. Prozesshandling: Verbessertes Fehlerhandling für Windows-Subprozesse
  4. Dateisortierung: Verbesserte Sortierung der FLAC-Dateien nach Zahlen im Dateinamen

Voraussetzungen für Windows​

  1. FFmpeg installieren:
    • Herunterladen von https://ffmpeg.org/
    • Den bin-Ordner zur System-Umgebungsvariable PATH hinzufügen
  2. MP4v2 installieren:
  3. Python-Pakete installieren:

    Copy
    pip install pydub ffmpeg-python
  4. Zusätzliche Abhängigkeit(für pydub):

Anpassungsmöglichkeiten​

  1. Bitrate ändern: Passen Sie die Werte '128' und '320' in den process_all_folders()-Aufrufen an
  2. Kapitelnamen anpassen: Modifizieren Sie die Regex re.sub(r'^\d+\s*-\s*', '', chapter_title) für Ihre Dateinamen
  3. Ausgabeordner: Ändern Sie OUTPUT_FOLDER nach Bedarf

Fehlerbehebung​

Falls Probleme auftreten:

  1. Prüfen Sie, ob ffmpeg und mp4chaps im PATH sind
  2. Führen Sie ffmpeg -version und mp4chaps -h in der Command Prompt aus
  3. Stellen Sie sicher, dass alle FLAC-Dateien korrekt sind (können mit einem Player abgespielt werden)
Das Skript sollte nun auf Windows-Systemen zuverlässig funktionieren und die gewünschten M4B-Dateien mit Kapiteln erstellen.

1 Version Gemini
2 Version Deepseek

Nach 1:1 deiner Fragestellung
 
Ich dachte, dass ich geschrieben habe, dass ich dieses Script für macOS brauche. War wohl nicht so. Sorry dafür.
 
Im Startpost hab ich nur Audiobook gelesen und nicht MacOS oder bin blind...

Die Linux Version von Deepseek geht 1:1 so für MacOS lt Deepseek

bOquuxg.png


Voraussetzungen​

  1. Installieren Sie ffmpeg und mp4v2:
    • macOS: brew install ffmpeg mp4v2
    • Linux: sudo apt-get install ffmpeg mp4v2-utils
  2. Installieren Sie die benötigten Python-Pakete: pip install pydub
Nochmal Gemini gefragt was man braucht für MacOS damit die Python funktioniert


Absolut! Der bereitgestellte Code funktioniert auch auf macOS, da Python und die verwendeten Bibliotheken plattformübergreifend sind. Hier sind einige zusätzliche Hinweise und Anpassungen, die speziell für macOS relevant sein könnten:

1. Python und Bibliotheken installieren (macOS)

Python: macOS wird in der Regel mit einer vorinstallierten Python-Version ausgeliefert. Es wird jedoch empfohlen, die neueste Version von Python 3 über Homebrew zu installieren:
brew install python3
pip: pip wird normalerweise zusammen mit Python installiert. Stellen Sie sicher, dass es auf dem neuesten Stand ist:
python3 -m pip install --upgrade pip
Bibliotheken installieren: Installieren Sie die erforderlichen Bibliotheken mit pip:
python3 -m pip install pydub mutagen

2. Homebrew für FFmpeg (optional, aber empfohlen)

Für die Audioverarbeitung im Hintergrund benötigt pydub FFmpeg. Es wird empfohlen, FFmpeg über Homebrew zu installieren:
brew install ffmpeg

3. Pfade und Verzeichnisse

macOS verwendet ein dateisystem das dem von Linux sehr ähnlich ist, daher sollten die Pfade im Skript ohne änderungen funktionieren. Es ist jedoch immer wichtig, die Pfade zu Ihren Hörbuch- und Hörspielverzeichnissen zu überprüfen und gegebenenfalls anzupassen.

4. Skript ausführen

Speichern Sie das Skript in einer Datei mit der Erweiterung ".py" (z. B. "flac_to_m4b.py").
Öffnen Sie das Terminal und navigieren Sie zu dem Verzeichnis, in dem Sie das Skript gespeichert haben.
Führen Sie das Skript mit dem folgenden Befehl aus:
python3 flac_to_m4b.py

5. Zusätzliche macOS-spezifische Überlegungen

Berechtigungen: Stellen Sie sicher, dass Ihr Python-Skript über die erforderlichen Berechtigungen zum Lesen und Schreiben von Dateien in den angegebenen Verzeichnissen verfügt.
Automatisierung: Auf macOS können Sie das Skript mit Automator oder AppleScript automatisieren, um den Konvertierungsprozess zu vereinfachen.

Zusammenfassung

Der bereitgestellte Python-Code ist mit macOS kompatibel. Stellen Sie sicher, dass Sie Python, pip und die erforderlichen Bibliotheken installiert haben und passen Sie die Pfade und Verzeichnisse nach Bedarf an
 
Danke für deine Mühe
 

Data-Load.me | Data-Load.ing | Data-Load.to | Data-Load.in

Auf Data-Load.me findest du Links zu kostenlosen Downloads für Filme, Serien, Dokumentationen, Anime, Animation & Zeichentrick, Audio / Musik, Software und Dokumente / Ebooks / Zeitschriften. Wir sind deine Boerse für kostenlose Downloads!

Ist Data-Load legal?

Data-Load ist nicht illegal. Es werden keine zum Download angebotene Inhalte auf den Servern von Data-Load gespeichert.
Oben Unten