Files
m4b-in-mp3/README.md
2026-03-28 11:43:54 +00:00

77 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# m4b_mp3.sh / m4b_mp3_splitted.sh
Konvertiert `.m4b`-Hörbuchdateien in einzelne `.mp3`-Dateien pro Kapitel mit automatischer ID3-Tagging und nullgepaddeter Tracknummer im Dateinamen.
* m4b_mp3.sh: Das gesamte Hörbuch liegt in einer m4b-Datei vor.
* m4b_mp3_splitted.sh: Es liegen einzelne m4b-Dateien je Kapitel vor.
## Voraussetzungen
```bash
sudo apt-get install ffmpeg id3v2
```
## Verwendung
```bash
cd /pfad/zum/hörbuch/
bash ~/convert_m4b.sh
```
Nach erfolgreicher Konvertierung die Originaldateien manuell entfernen:
```bash
rm *.m4b
```
> Die `.m4b`-Dateien werden absichtlich nicht automatisch gelöscht, damit bei einem Fehler nichts verloren geht.
## Was das Script macht
1. Alle `.m4b`-Dateien im aktuellen Verzeichnis werden der Reihe nach verarbeitet (alphabetisch).
2. Jede `.m4b` wird zunächst als Ganzes in eine temporäre `.mp3` umgewandelt (Mono, 22 050 Hz, 64 kbit/s).
3. Die Kapitelmarken werden aus den Metadaten ausgelesen.
4. Für jedes Kapitel wird eine eigene `.mp3` mit korrekten Start-/Endzeiten ausgeschnitten.
5. ID3-Tags werden gesetzt: Titel, Album und Tracknummer.
6. Die temporäre Gesamt-MP3 wird nach der Aufteilung wieder gelöscht.
## Ausgabeformat
Die erzeugten Dateien folgen diesem Namensschema:
```
<Albumtitel> - <Tracknummer> - <Kapitelname>.mp3
```
**Beispiel:**
```
Knife of Dreams - 01 - Chapter 01 - Entrapped.mp3
Knife of Dreams - 02 - Chapter 02 - Embers Falling on Snow.mp3
...
Knife of Dreams - 23 - Chapter 18 - News for the Dragon.mp3
```
Die Tracknummer ist immer zweistellig mit führender Null (`01`, `02`, … `99`). Bei mehr als 99 Kapiteln das Format im Script auf `%03d` ändern.
### Gesetzte ID3-Tags
| Tag | Inhalt |
|-----------|-------------------------------------|
| `title` | Kapitelname (z. B. `Chapter 01 - Entrapped`) |
| `album` | Verzeichnisname des Hörbuchs |
| `track` | Tracknummer (ohne führende Null) |
## Hinweise
- Der **Albumname** wird automatisch aus dem aktuellen Verzeichnisnamen abgeleitet. Ein Komma im Verzeichnisnamen trennt Albumtitel und Untertitel alles nach dem Komma wird ignoriert.
- Existiert eine Ausgabedatei bereits (z. B. bei doppelten Kapitelnamen), wird automatisch ein Suffix angehängt: `_(1)`, `_(2)`, usw.
- Bei mehreren `.m4b`-Dateien (z. B. Part 1 / Part 2) läuft die Tracknummer durchgehend weiter die Dateien werden in alphabetischer Reihenfolge verarbeitet.
- Der `ffmpeg`-Schritt zum Ausschneiden der Kapitel kopiert den Audio-Stream ohne erneutes Enkodieren (`-codec:a copy`), was schnell und verlustfrei ist.
## Abhängigkeiten
| Tool | Zweck |
|----------|--------------------------------------------|
| `ffmpeg` | Konvertierung und Kapitelextraktion |
| `id3v2` | Setzen der ID3v2-Tags in den MP3-Dateien |