Hallo!
Kennt jemand ein Kommandozeilen-Tool für Linux, das so arbeitet, wie der
Video-Download-Helper (Firefox Addon)?
Es wäre schön, wenn man dort die URL der Webseite angibt und man die
Streaming Links zurückbekommt.
Hintergrund wäre, dass ich gerne ein kleines Skript schreiben würde, das
mir beim Hochfahren eines Raspberry-Pis mit LibreELEC die Senderliste
vom Simple-IPTV-Addons aktualisiert, denn leider wird der Stream-Link
eines Senders jeden Tag verändert.
Wenn ich die Webseite aufrufe, wird vom Video-Download-Helper der Link
sofort erkannt. (Man braucht den Stream nicht mal zu starten.)
Danke im Voraus!
youtube-download wär einen versuch wert. Das kann sehr viele
verschiedene Video-Seiten, nicht nur den Namensgeber.
Wenn nicht, und sich die Webseite stark gegen solche Tools "wehrt":
Puppeteer.
Hab damit erst grad wieder was automatisiert... Webseite aufmachen,
Cookie-Banner wegklicken falls er angezeigt wird und falls ein Redirect
auf das Login-Formular erfolgt: Benutername+Passwort+"remember me", die
vielen hundert IMG/CSS/JS/XHR/API-Requests filtern, den einen
interressanten abfangen, JSON-Daten in ein CSV speichern, fertig.
grad mal so 50 Zeilen Code.
Hallo!
Danke für den Tipp!
Youtube-DL geht leider nicht.
Puppeteer ist, wenn ich es richtig verstehe, kein reines
Kommandozeilentool. Kennst du (oder andere hier) vielleicht etwas, wo
man ähnlich wie beim Youtube-DL einfach den Link eingibt und den
Streaming-Link retour bekommt, was man dann z.B. auch in VLC einsetzen
könnte?
Danke!
PC schrieb:> Puppeteer ist, wenn ich es richtig verstehe, kein reines> Kommandozeilentool.
Nö, es ist primär ein Werkzeug, um Tools/Scripte zu erzeugen, die mit
Webseiten interagieren.
Gibt auch kommandozeilen-tools dafür/damit, die sind aber eher auf
"automatisiert screenshots erzeugen" oder "interaktiv die Seite per
Konsole bedienen" ausgelegt.
(puppeteer-cli, repl, ..)
PC schrieb:> einfach den Link eingibt und den> Streaming-Link retour bekommt
Das geht so generell nicht. Manchmal reicht ein "curl | grep | sed",
manchmal muss man eben in JS implementiere Verschleierungsalgorithmen
ausführen, um an die URL zu kommen.
Wenn deine Wunsch-Streamingseite nicht hoch-geheim ist, verrate uns doch
einfach, um was es geht.
PC schrieb:> Es ist https://mediaklikk.hu/m2-elo/
Im Anhang eine Quick-n-Dirty Lösung, die dir
z.B.
https://c202-node62-cdn.connectmedia.hu/1101/7cf6f24598234992a9e7fb38efab9d25/60ea9ccb/index.m3u8?v=5i
daraus extrahiert.
Ist so eher die "Holzhammer"-Methode.
Statt den Seitenquelltext zu analysieren und daraus nur das nötigste zu
extrahieren, macht das einfach einen vollwertigen Chromium-Browser (aber
mit eigenem Profil & ohne Fenster) auf, läd Alles von der Seite, also
alle Javascripts, alle Werbung, alle Cookies usw. und schaut dem
Chromium dabei über die Schulter, ob ein "index.m3u8"-Request
vorbeikommt. Von dem hätten wir dann gerne die URL.
PC schrieb:> Hallo!>> Danke für den Tipp!>> Youtube-DL geht leider nicht.
Hast Du Dir mal die Optionen von Youtube-dl angeschaut?
Deinen Usecase kann ich nicht so richtig nachvollziehen, nach Deiner
Beschreibung koennte YT-dl aber eventuell doch funktionieren:
Nimm z.B. das Streaming eines OeR-Senders, z.B. wdr
>https://www.ardmediathek.de/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU/?toolbarType=default
Dann kannst Du Dir mit 'youtube-dl -F' die Formate ausgeben lassen:
(Ich hab mir die diversen youtube-dl Befehle mit den entsprechenden
Schaltern als alias direkt ansprechbar gemacht)
youtube-dl -F
https://www.ardmediathek.de/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU/?toolbarType=default
[ARDBetaMediathek] Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU:
Downloading JSON metadata
[ARDBetaMediathek] 21520924: Downloading m3u8 information
[info] Available formats for 21520924:
format code extension resolution note
hls-635-0 mp4 480x270 635k , avc1.77.30, 50.0fps,
mp4a.40.2
hls-635-1 mp4 480x270 635k , avc1.77.30, 50.0fps,
mp4a.40.2
hls-1130-0 mp4 640x360 1130k , avc1.4d401f, 50.0fps,
mp4a.40.2
hls-1130-1 mp4 640x360 1130k , avc1.4d401f, 50.0fps,
mp4a.40.2
hls-2120-0 mp4 960x540 2120k , avc1.4d401f, 50.0fps,
mp4a.40.2
hls-2120-1 mp4 960x540 2120k , avc1.4d401f, 50.0fps,
mp4a.40.2
hls-3990-0 mp4 1280x720 3990k , avc1.640020, 50.0fps,
mp4a.40.2
hls-3990-1 mp4 1280x720 3990k , avc1.640020, 50.0fps,
mp4a.40.2 (best)
Danach das gewuenschte Format auswaehlen und mit -f und -g dann die URL
aus dem Manifest extrahieren:
youtube-dl -f hls-3990-1 -g
https://www.ardmediathek.de/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU/?toolbarType=defaulthttps://derste247livede.akamaized.net/hls/live/658317-b/daserste_de/master_1280p_3628.m3u8
Das liesse sich bestimmt auch automatisieren.