Download von Live-Streams

Manchmal möchte man sich an ein schönes Konzert zurückerinnern. Die gekauften CD oder die MP3s der Band sind nicht genug – und man findet heraus, dass es online einen aufgezeichneten Live-Stream des Konzerts gibt. Doch wie bekommt man den auf die eigene Festplatte? Hier beispielhaft die Vorgehensweise für den Download eines Konzertmitschnitts auf emap.fm unter Windows. Wichtig: Bitte klärt im Vorfeld ab, ob es in Ordnung ist, dass ihr das Konzert herunterlädt! Ich möchte hier nicht zu einer illegalen Handlung verleiten!

Voraussetzungen

Folgende Tools werdet ihr benötigen – erstellt am besten einen neuen Ordner, zum Beispiel C:\Download, und entpackt diese dort hinein:

  • wget: Zum Stapel- (Batch-)Download von mehreren Dateien
    Wir brauchen nur die wget.exe
  • ffmpeg: Zum Zusammenfügen der Teilstücke und zum Umwandeln in MP3
    Wir brauchen nur die ffmpeg.exe aus dem Unterordner bin

1. Downloadlinks bekommen

Eine Aufnahme setzt sich aus vielen Teilstücken (viel kleiner als einzelne Lieder zusammen). Wir müssen diese daher herunterladen und dann zusammensetzen. Als ersten Schritt benötigen wir also eine Liste mit den Dateien, die wir herunterladen müssen.

Dazu öffnen wir den emap.fm-Player im Browser und öffnen mit F12 die Entwicklertools. Unter Elemente findet sich der Inhalt der Website. Ein Element mit der Klasse playlist kann man aufklappen – und man kommt zu einem Download-Link:

Wenn wir diesen m3u8-Link im Browser herunterladen und anschließend mit dem Editor öffnen, sehen wir folgendes:

EXTM3U
EXT-X-VERSION:3
EXT-X-STREAM-INF:BANDWIDTH=127999,CODECS="mp4a.40.2"
chunklist_w394191236.m3u8

Wir sehen also, dass die letzte Zeile wieder auf eine Playlist verweist. Um diese zu erhalten, nehmen wir den ersten Teil des Links von oben und ersetzen nur den Schluss mit dem neuen Dateinamen. Wir erhalten also:

https://emap.fm:1936/concerts/mp4:20230723_tantehedwig.m4a/chunklist_w394191236.m3u8

Wenn wir diese Datei herunterladen und öffnen sehen wir eine Liste der Teile (Chunks) aus denen sich der Stream zusammensetzt:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
media_w394191236_0.aac
#EXTINF:10.0,
media_w394191236_1.aac
...

Wir könnten nun, wenn wir vor jeden Dateinamen den ersten Teil des Links einfügen, nun jeden Teil herunterladen – das würde jedoch ewig dauern. Wir automatisieren also.

2. Teile (Chunks) herunterladen

Gottseidank bietet sogar der Windows-Editor genug Möglichkeiten, diese „Chunk-Playlist“ so aufzubereiten, damit wir sie an wget füttern können, damit dieses Tool alle Chunks für uns herunterlädt.

Dazu öffnen wir die Datei, wählen Ersetzen und ersetzen den ersten Teil der Dateinamen mit dem Link und dem ersten Teil des Dateinamens. Anschließend wählen wir Alles ersetzen.

Die Datei sollte nun so aussehen:

Nachdem wir diese Datei gespeichert haben, öffnen wir in diesem Ordner die Kommandozeile (stelle sicher, dass wget im Ordner liegt!) und übergeben sie als Downloadliste an das Tool:

wget -i chunklist_w394191236.m3u8 --no-check-certificate

Wir erhalten einige Fehlermeldung – das sind die Zeilen, die keinen Downloadlink enthalten – aber schließlich sollten wir mehrere hundert aac-Dateien heruntergeladen haben.

3. Sortieren der Dateien

Bei den heruntergeladenen Dateien ist es leider so, dass die Anzahl der Stellen bei der Nummerierung nicht ganz passt und die alphabetischer Reihenfolge nicht ganz passt (auch wenn Windows das bei der Anzeige „überspielt“ durch sein „Natural Sorting“). Ein Problem, das wir lösen müssen, da die gewünschte Reihenfolge von ffmpeg alphabetisch ist:

Eine Möglichkeit wäre, händisch die Nullen einzufügen, aber das ist einiges an Handarbeit. Ich löse dieses Problem mit dem Total Commander. Hier die kurze Anleitung:

Die Anzeige vom Total Commander unter Einstellungen > Anzeige auf Natürliche Sortierung stellen:

Anschließend alle ACC-Dateien markieren und mit dem Mehrfach-Umbenenn-Tool einen 3stelligen Zähler vor dem Dateinamen einfügen:

Wenn man nun die Anzeige wieder auf Alphabetisch umschaltet, sind die Dateien nun sortiert.

4. Liste der Dateien für ffmpeg erstellen und zusammenfügen

Das Tool, um alle diese Chunks (also die Dateien) zusammenzufügen, nennt sich ffmpeg. Es benötigt die Liste alle Dateien in einer Textdatei, die wir mit folgendem Befehl in diesem Ordner erstellen:

(for %i in (*.aac) do @echo file '%i') > mylist.txt

Nun füttern wir diese Textdatei an ffmpeg, um alle Chunks zusammenzufügen:

ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.aac

Die Fehlermeldungen können wir wieder ignorieren. Wir haben nun eine Datei, die alle Chunks beinhaltet.

Umwandeln in MP3

Als letzten Schritt wandeln wir diese Datei in eine MP3-Datei um. Dazu nutzen wir wieder ffmpeg:

ffmpeg -i "output.aac" -codec:a libmp3lame -q:a 2 "output.mp3"

Nach der erfolgreichen Umwandlung können wir alle Dateien bis auf output.mp3 löschen – in der sich das Konzert befindet!

Viel Spaß! 🎤🎧🎸🎹🪗

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (1)

Loading…
Avatar von manuel

AUTOR

manuel