@otava5 Je to typ řešení, které jsem si pro sebe (a také v popisu) označil jako "onthefly", tedy "za letu". Adresa streamu (či lépe manifestu, protože jde o HLS) se získá requestem na server služby přímo ve streameru. Je to vidět v této části streamer.sh:
Tedy, úplně správně řečeno je to tak, že server vrací json data, ve kterých může být (a také je) více manifestů. V tomto ohledu jim to ale moc nefunguje. I když v requestu zadávám požadavek na "HD", vrací mi to zpravidla manifesty pro HD i SD. Prohledávat json data v sh scripru by ale trvalo moc dlouho, proto vždycky vezmu ten první (index 0 v jq '.[0].uri') a natvrdo změním v adrese případné "_sd_" na "_hd_" (a naopak, pokud je požadavek na SD kvalitu). Zatím to tak funguje, samozřejmě, pokud změní strukturu názvů, bude třeba to změnit taky.
Kód:
json=$(wget -qO - --header "X-NanguTv-Access-Token:${access_token}" --header "X-NanguTv-Device-Id:${device_id}" "https://app.o2tv.cz/sws/server/streaming/uris.json?serviceType=LIVE_TV&deviceType=${device_type}&streamingProtocol=${streaming_protocol}&subscriptionCode=${subscription}&resolutiom=${resolution}&channelKey=${channel}&encryptionType=NONE")