28.7.2024, 20:51
(Tento příspěvek byl naposledy změněn: 29.7.2024, 10:22 uživatelem JiRo.
Důvod úpravy: Překlepy
)
@waladir: Aha, neuvědomil jsem si, že explicitní výběr kvality streamu v requestu možný není. Pak by tedy šlo použít výběr kvality streamu v prametrech streamlink. Obvykle se tam používá parametr best, který vybírá nejlepší existující stream, který lze asi nahradit parametrem s konkrétní identifikací kvality streamu.
Více k parametům Streamlink viz https://streamlink.github.io/cli.html.
Když budu konkrétní, a abyste to nemuseli hledat, tak já v Tvheadend používám pro O2TV následující volání streamlink:
Parametr best lze v tomto případ nahradit, např. takto:
Kde seznam "180p, 360p, 540p, 720p, 1080p" streamlik používá tak, že ho odleva porovnává s nabídkou kvality v program streamu a pokud tam najde uvedenou kvalitu, tak ji použije, pokud ne, tak v prohledávání pokračuje. Seznam je samozřejmě možné libovolně upravit, aby začal s prohledáváním od kvality, kterou jako nejnižší možnou chcete použít.
Pokud by streamlink v seznamu žádnou kvalitu nenašel, vypíše do ${log_file} následující zprávu. Já jsem pro test chování zadal do seznamu pouze jednu neexistující kvalitu, tedy "480p":
Kód:
streamlink [OPTIONS] <URL> [STREAM]
Positional arguments
URL
A URL to attempt to extract streams from.
Usually, the protocol of http(s) URLs can be omitted (https://), depending on the implementation of the plugin being used.
Alternatively, the URL can also be specified by using the --url option.
STREAM
Stream to play.
Use best or worst for selecting the highest or lowest available quality.
Fallback streams can be specified by using a comma-separated list:
"720p,480p,best"
If no stream is specified and --default-stream is not used, then a list of available streams will be printed.Více k parametům Streamlink viz https://streamlink.github.io/cli.html.
Když budu konkrétní, a abyste to nemuseli hledat, tak já v Tvheadend používám pro O2TV následující volání streamlink:
Kód:
streamlink --locale cs_CZ dash://${url} best --stdout --ffmpeg-ffmpeg "ffmpeg" --ffmpeg-fout "mpegts" 2>> ${log_file}Parametr best lze v tomto případ nahradit, např. takto:
Kód:
streamlink --locale cs_CZ dash://${url} "180p, 360p, 540p, 720p, 1080p" --stdout --ffmpeg-ffmpeg "ffmpeg" --ffmpeg-fout "mpegts" 2>> ${log_file}Kde seznam "180p, 360p, 540p, 720p, 1080p" streamlik používá tak, že ho odleva porovnává s nabídkou kvality v program streamu a pokud tam najde uvedenou kvalitu, tak ji použije, pokud ne, tak v prohledávání pokračuje. Seznam je samozřejmě možné libovolně upravit, aby začal s prohledáváním od kvality, kterou jako nejnižší možnou chcete použít.
Pokud by streamlink v seznamu žádnou kvalitu nenašel, vypíše do ${log_file} následující zprávu. Já jsem pro test chování zadal do seznamu pouze jednu neexistující kvalitu, tedy "480p":
Kód:
error: The specified stream(s) '480p' could not be found.
Available streams: 180p (worst), 360p, 540p, 720p, 1080p (best)
