willy4711 hat geschrieben: 28.01.2022 15:14:17
Bei der Auswahl mittels f XXX
muss die Tonspur mit angegeben werden.
Ja natürlich. Ansonsten wählt man ja auch explizit nur die Videospur aus (siehe Huos Beitrag - 1*audio_only und 5*video_only).
Also wenn man jetzt mal youtube-dl außen vor lässt (gut 12 Monate ohne Aktualisierung), dann hat man mit yt-dlp verschiedene Möglicheiten:
1. Man schaut sich das Vorhandene (-F) an:
Code: Alles auswählen
$ yt-dlp "https://dms.redbull.tv/v4/destination/stv/AA-27EXY84YS1W11/personal_computer/chrome/de/de_DE/playlist.m3u8" -F
[generic] playlist: Requesting header
[generic] playlist: Downloading m3u8 information
[info] Available formats for playlist:
ID EXT RESOLUTION │ TBR PROTO │ VCODEC VBR ACODEC MORE INFO
───────────────────────────────────────────────────────────────────────────────────────
audio-German mp4 │ m3u8_n │ audio only unknown [ger] German
511 mp4 426x240 │ 511k m3u8_n │ avc1.4D401E 511k video only
830 mp4 640x360 │ 830k m3u8_n │ avc1.4D401E 830k video only
1515 mp4 960x540 │ 1515k m3u8_n │ avc1.4D401F 1515k video only
2923 mp4 1280x720 │ 2923k m3u8_n │ avc1.4D401F 2923k video only
5999 mp4 1920x1080 │ 5999k m3u8_n │ avc1.640028 5999k video only
und ruft dann nochmal explizit mit (-f) den gewünschten (720p) Download auf:
Code: Alles auswählen
$ yt-dlp "https://dms.redbull.tv/v4/destination/stv/AA-27EXY84YS1W11/personal_computer/chrome/de/de_DE/playlist.m3u8" -f 2923+audio-German
2. Kann man das mit yt-dlp inzwischen auch interaktiv machen (-f -):
Code: Alles auswählen
$ yt-dlp "https://dms.redbull.tv/v4/destination/stv/AA-27EXY84YS1W11/personal_computer/chrome/de/de_DE/playlist.m3u8" -f -
[generic] playlist: Requesting header
[generic] playlist: Downloading m3u8 information
[info] Available formats for playlist:
ID EXT RESOLUTION │ TBR PROTO │ VCODEC VBR ACODEC MORE INFO
───────────────────────────────────────────────────────────────────────────────────────
audio-German mp4 │ m3u8_n │ audio only unknown [ger] German
511 mp4 426x240 │ 511k m3u8_n │ avc1.4D401E 511k video only
830 mp4 640x360 │ 830k m3u8_n │ avc1.4D401E 830k video only
1515 mp4 960x540 │ 1515k m3u8_n │ avc1.4D401F 1515k video only
2923 mp4 1280x720 │ 2923k m3u8_n │ avc1.4D401F 2923k video only
5999 mp4 1920x1080 │ 5999k m3u8_n │ avc1.640028 5999k video only
Enter format selector: 2923+audio-German
und 3. Man legt sich eine Konfigurationsdatei an, die die gewünschte Auflösung (unter anderem) automatisch auswählt:
Code: Alles auswählen
$ cat ~/.config/yt-dlp/config
-f 'best[height<725][height>535]/bestvideo[height<725][height>535]+bestaudio/bestvideo+bestaudio/best'
Dann reicht einfach:
Code: Alles auswählen
$ yt-dlp "https://dms.redbull.tv/v4/destination/stv/AA-27EXY84YS1W11/personal_computer/chrome/de/de_DE/playlist.m3u8"
Sowas würde dann Videos von 720p bis runter zu 540p priorisieren und gleichzeitig auch Audio berücksichtigen. Erst wenn das [720..540] nicht angeboten wird, dann wird die beste Auflösung genommen. Eine Anmerkung noch: Das sind die Formatoptionen von youtube-dl, welche wohl irgendwann in yt-dlp nicht mehr funktioneiren werden. Dann muss man diese Zeile auffrischen...
Wenn man sofort schauen will (streamen), dann kann man die Formatoptionen auch direkt (Konfigurationsdatei) an mpv übergeben:
Code: Alles auswählen
$ cat ~/config/mpv/mpv.conf
ytdl-format='best[height<725][height>535]/bestvideo[height<725][height>535]+bestaudio/bestvideo+bestaudio/best'
und dann den Stream starten mit:
Code: Alles auswählen
$ mpv "https://dms.redbull.tv/v4/destination/stv/AA-27EXY84YS1W11/personal_computer/chrome/de/de_DE/playlist.m3u8"
Edit: Diese Videofindung über die Entwicklerkonsole im Firefox muss man natürlich nur bei Seiten machen, die von yt-dlp/youtube-dl nicht unterstützt werden. In den Mediatheken von z.B. ARD und ZDF, auf youtube.com und auf hunderten anderer Seiten reicht es aus, wenn man die im Firefox oben angezeigte URL kopiert und diese dann mit yt-dlp benutzt.
Edit2: Die mpv-Einbindung von yt-dlp unter buster funktioniert so nicht! Sie hat bei mir nur funktioniert, weil youtube-dl ebenfalls noch im Suchpfad vorhanden ist. Es spielt dabei auch keine Rolle, ob das in der mpv-Dokumentation angeratene "script-opts-append=ytdl_hook-ytdl_path=yt-dlp" als zusätzliche Zeile in ~/config.mpv.mpv.conf vorhanden ist. mpv greift dann trotzdem auf ein vorhandes youtube-dl zurück. Vielleicht ist das unter bullseye anders...