• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 5 Hlas(ů) - 3.4 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Připojení CZ/SK poskytovatelů OTT IPTV k TVHeadendu
#85
@marhycz Ještě před tím, než práci na O2TV převzal @pavuucek jsem to zkoušel ještě na originale video addon od Štěpána Orta a pak na úpravě od @JiRo. Bylo mi jasné, že pokud se tam explicitně definuje typ protokolu s parametrem HLS, bude tam asi možné použít i něco jiného. Zkoušel jsem různé variace z MP4 nebo DASH, MPEG-DASH, ... Ano, jak píšeš výše, tak jsou dvě místa, kde se definuje použitý protokol, ale ani v jednom případě jsme nebyl úspěšný. Takže mi jde o to, zda stačí jen změnit tu specifikaci v requstech (místo HLS dát něco jiného) či zda se musí změnit ještě něco.

Já teď používám odvozené řešení, snažím se ty OTT sjednotit podle jakéhosi vlastního jednoduchého "konceptu" s využitím pouze sh scriptů, V případě O2TV to pro script spouštěný z Tvheadend, funguje s HLS funguje, ale s DASH, MPEG-DASH a jeho variacemi je to stejné jako jsme uvedl výše. Opět mi tedy jde o to, zda stačí vyměnit hodnotu v parametru requestu "streamingProtocol=..."  (a hlavně na co) nebo je třeba upravit ještě něco dalšího. Script vypadá takto, autentizační parametry se načítají ze souboru, identifikace kanálu se přebírá z parametrů spuštěného scriptu:
Kód:
#!/bin/sh
# Verze 0.2
# Streamer, který vytváří stream pro Tvheadend předávaný metodou pipe:// na stdout scriptu, resp. volaného ffmpeg.
# Závislosti: ffmpeg, wget, jq
# Předpoklady: existuje soubor acces.id s aktuálními parametry přihlášeného a registrovaného zařízení

# Začátek části zadání uživatelských parametrů
# Pozn: Veškeré parametry bez mezer a českých znaků!
# Identifikace poskytovatele služby , které se přenese do Kodi jako "Poskytovatel" - zobrazí se v Kodi v OSD PVR
provider=o2tv.cz
# Typ zařízení. Je určující pro nabídku streamů služby {STB, PC, TABLET, MOBILE}
device_type=STB
# Rozlišení, závisí na typu zařízení {HD, SD} Např. pro STB je HD 1920x1080, 50 FPS a SD 1024x576, 25 FPS.
resolution=HD
# Absolutní cesta k adresáři služby ve tvaru /.../
data=/storage/.kodi/media/playlist/o2tvsh/
# Absolutní cesta k adresáři s ffmpeg /.../ nebo prázdné (prog=)
prog=/storage/.kodi/addons/tools.ffmpeg-tools/bin/
# Konec části zadání uživatelských parametrů

channel=$1
service=$2

streaming_protocol=HLS

access_id=$(cat ${data}access.id | head -n 1 )
device_id=$(echo ${access_id} | cut -d' ' -f2)
access_token=$(echo ${access_id} | cut -d' ' -f3)
subscription=$(echo ${access_id} | cut -d' ' -f4)

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}&resolution=${resolution}&subscriptionCode=${subscription}&channelKey=${channel}&encryptionType=NONE")

sed_string=s/_sd_/_hd_/g
[ "${resolution}" = "SD" ] && sed_string=s/_hd_/_sd_/g
stream=$(echo ${json} | sed "${sed_string}" | jq -r '.uris' | jq '.[0].uri' | tr -d '"' )

${prog}ffmpeg -fflags +genpts -i ${stream} -vcodec copy -acodec copy -f mpegts -mpegts_service_type digital_tv -metadata service_provider=${provider} -metadata service_name=${service} pipe:1
V playlistu, skrze který je ten script volaný z TVheadend, to pak vypadá například takto:
Kód:
#EXTM3U
#EXTINF:-1,ČT1 HD
pipe:///storage/.kodi/media/playlist/o2tvsh/streamer.sh %C4%8CT1%20HD ct1hd
Celé je to popsané v tomto tématu https://www.xbmc-kodi.cz/prispevek-prehled-skriptu-pro-ott-iptv-v-tvheadend?pid=67399#pid67399.

Díky za snahu pomoci.
 
Citovat
  


Příspěvků v tématu
RE: Připojení CZ/SK poskytovatelů OTT IPTV k TVHeadendu - od Client - 16.5.2019, 6:13
tvheadend o2tv epg - od renda61 - 26.6.2020, 9:09

Přejít na fórum:


Prochází: 15 host(ů)