XBMC-Kodi.cz
OTT/IPTV - jednodušeji to už nejde - Verze k tisku

+- XBMC-Kodi.cz (https://www.xbmc-kodi.cz)
+-- Fórum: KODI - Doplňky (https://www.xbmc-kodi.cz/forum-kodi-doplnky)
+--- Fórum: Live TV & PVR (https://www.xbmc-kodi.cz/forum-live-tv-pvr)
+--- Téma: OTT/IPTV - jednodušeji to už nejde (/prispevek-ott-iptv-jednoduseji-to-uz-nejde)

Stran: 1 2 3 4 5 6 7 8 9 10 11 12


RE: OTT/IPTV - jednodušeji to už nejde - mobilemanic - 25.11.2020

@JonatanRek: Tak to se přiznám už přesně nevím - tuším, že se jednalo o reverse-engineering odsud: https://www.xn--lep-tma39c.tv/novinky/aplikace-lepsi-tv-pro-windows/


RE: OTT/IPTV - jednodušeji to už nejde - tomashapl - 08.12.2020

Předělal jsem ten script na přihlášení, vše ostatní by mělo zůstat stejné
Kód:
 
#!/bin/sh
dir=$(dirname $0)
pwd=$(pwd)
cd ${dir}
data=$(pwd)

user=${LEPSITV_USERNAME}
pass=${LEPSITV_PASSWORD}

cookies=$(wget --no-check-certificate \
-q -O - \ 
--method POST \ 
--save-cookies cookies.txt \ 
--timeout=0 \ 
--header 'Accept: application/json, text/javascript, */*; q=0.01' \ 
--header 'X-Requested-With: XMLHttpRequest' \ 
--header 'Accept-Language: cs-cz' \ 
--header 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \ 
--header 'Cookie: lang_default=cs; onlinetv_href=https%3A%2F%2Fwww.xn--lep-tma39c.tv%2Fonlinetv%2F%3Fzarizeni%3Dios%26home_new%3D0%26login; onlinetv_href_device=ios; onlinetv_href_device_url=ios; sluzba=;' \ 
--body-data "page=login&action=login&user_name=${user}&user_password=${pass}" \ 
'https://www.xn--lep-tma39c.tv/web/ajax.php') 

key=$(cat ${data}/cookies.txt | awk -F '\t' '{if ($6=="key"){print $7}}')
echo ${key} > ${data}/login.id 



OTT/IPTV - jednodušeji to už nejde - Saros - 11.12.2020

Tak pro sledovanitv mame novy parametr pro titulky. Ty jsou primo v m3u8 souboru, no kodi si s tim zrejme neporadi.
Kód:
http://sledovanitv.cz/vlc/api-channel/ct1.m3u8?quality=40&capabilities=webvtt%2Cadaptive2%2Ch265&subtitles=1&PHPSESSID=xxxxxxx
Edit:
Tak az Kodi 19.x tyhle titulky umi


RE: OTT/IPTV - jednodušeji to už nejde - JiRo - 12.12.2020

@Saros Nějaké další info nemáš? Co ten parametr děla s PS (programm steram), který server služby začne posílat. Nechá v něm pouze vybrané titulky a ostatní zahodí? Nebo přeskládá jejich pořadí, aby ty vybrané byly uvedeny jako první? I když mě zajímá jen příjem v Tvheadend (kde si výběr titulků v ffmpeg nějak udělat dokáži už teď - i když je pravda, že to právě u Sledovani.tv nedělám), zaujala mě ta tvá poznámka o Matrix-u. V čem má Matrix zpracování titulků jinak? Co je tam v tomto hledu za novou funkci? Zatím jsem na nic nenarazil. Tedy hlavně proto, že jsme ani netušil, že bych něco takového měl hledat, takže mi možná něco uniklo. Dík za info, budeš-li mít.


OTT/IPTV - jednodušeji to už nejde - Saros - 12.12.2020

Je tam primo v m3u8 tag subtitles:
Kód:
#EXTM3U
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs1",NAME="České",URI="https://sit-cdn4-pub.mtv.cdn.moderntv.eu/moderntv/stream/ct1/sub-cze-hls/live-media.m3u8?_cdn_attrs=account...
V matrixu mi to jde zapnutim v simple clientovi volbu hls pres ffmpeg. Na Leia to jde kdyz je stream pres InputStream Adaptive.


RE: OTT/IPTV - jednodušeji to už nejde - JiRo - 12.12.2020

@Saros Jasně, chápu. Dík.


RE: OTT/IPTV - jednodušeji to už nejde - djlucas - 03.1.2021

jinak nevim nenasel jsem tady zminku ohledne prijmu UHD .. aktualne je skutecne v UHD NASA a Extasy 4K ..

Kód:
http://sledovanitv.cz/vlc/api-channel/"$1".m3u8?quality=120&capabilities=h265,adaptive&PHPSESSID="${session}



RE: OTT/IPTV - jednodušeji to už nejde - otava5 - 04.1.2021

quality=120 je něco nového? dosud jsme používali 40


OTT/IPTV - jednodušeji to už nejde - Saros - 04.1.2021

Me to teda nefunguje. Asi to je taky podle toho, jake zarizeni se identifikuje.


RE: OTT/IPTV - jednodušeji to už nejde - djlucas - 04.1.2021

Uhd mi funguje od quality 80 ale funguje i 120.. NASA jede na 60fps a extasy na 25 dle vlc

@Saros: Dle jejich stránek UHD funguje na všech TV jejich StB a Appletv .. všechny moje tokeny jsou registrované na tyto zařízení..


OTT/IPTV - jednodušeji to už nejde - Saros - 04.1.2021

Aha. Tak tyhle zarizeni nemam povoleny


RE: OTT/IPTV - jednodušeji to už nejde - kolenac - 04.1.2021

Můžete udělat screen bitrare ze Sledovánítv,cz tv stanice Extasy4k ?
Tady dávám ukázku bitrare z Antik satu. Jen pro zajímavost.

http://prntscr.com/wg3mdf


OTT/IPTV - jednodušeji to už nejde - Saros - 04.1.2021

@djlucas a v api ma byt jake dev type pro ten stb a appletv? Zkousel jsem samsungtv a androidsmarttv a na obou mam povoleno max 20.


RE: OTT/IPTV - jednodušeji to už nejde - djlucas - 04.1.2021

@Saros: samsungtv, appletv, lgtv .. jinak jsem ted projel jejich balicky a to UHD dle vseho funguje jen na Premium balicku cili ten nejdrazsi

@kolenac: jinak bitrate lita nahoru dolu cca 5000-9000 .. u NASA UHD jsem videl i 12000 https://prnt.sc/wg6a68

edit: tak jsem provedl jeste test co to udela pokud nastavim quality u hevc na 120 misto 40 .. ted se u FHD programu drzi bitrate u cca 7Mbit na quality 40 bitrate cca 3,5


RE: OTT/IPTV - jednodušeji to už nejde - otava5 - 04.1.2021

@djlucas: mám zalogováno jako XBMC tak i appletv a já nevidím rozdíl ... Nasa UHD 60fps a extasy 4k 25fps... jak na 40 tak na 120


RE: OTT/IPTV - jednodušeji to už nejde - kolenac - 05.1.2021

djlucas: díky za info


OTT/IPTV - jednodušeji to už nejde - Saros - 24.1.2021

iVysílání ČT
PHP skript (index.php):
Kód:
<?php
#params
$channel_input = explode(".m3u8", $_GET["ch"]);
$channel_input = $channel_input[0];

#token
$ch = curl_init('https://www.ceskatelevize.cz/services/ivysilani/xml/token/');
$post = ['user' => 'iDevicesMotion'];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'User-Agent: iVysilani/Android', 'Host: www.ceskatelevize.cz'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$token = strval(simplexml_load_string($result)[0]);

#keyurl
$ch = curl_init('https://www.ceskatelevize.cz/services/ivysilani/xml/playlisturl/');
$post = ['quality' => 'web', 'playerType' => 'iPad', 'token' => $token, 'ID' => 'CT'.$channel_input, 'playlistType' => 'json'];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: okhttp/2.7.0', 'Host: www.ceskatelevize.cz', 'Connection: Keep-Alive', 'Accept-Ecoding: gzip', 'Content-type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$keyurl = strval(simplexml_load_string($result)[0]);

#stream
$ch = curl_init($keyurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: okhttp/2.7.0', 'Host: www.ceskatelevize.cz', 'Connection: Keep-Alive', 'Accept-Ecoding: gzip', 'Content-type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
header('Content-Type: text/plain; charset=utf-8');
$data = json_decode($result,true);
$url = strval($data['playlist'][0]['streamUrls']['main']);
header('Location: '.$url.'');
?>
.htaccess:
Kód:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /CT/index.php?ch=$1 [L,QSA]

Oba soubory do složky "CT" a url streamu pak bude:
Kód:
http://tvujweb.cz/CT/28
Nebo s koncovkou:
Kód:
http://tvujweb.cz/CT/28.m3u8
Nebo bez použití htaccess:
Kód:
http://tvujweb.cz/CT/index.php?ch=28
Kanály o kterých vím: 25, 26, 27, 28, 29, 30, 31, 32


RE: OTT/IPTV - jednodušeji to už nejde - Saros - 02.2.2021

Rebit.tv PHP skript (nové api)

1) skript auth.php - registrace zařízení
- zadejte přihlašovací údaje (login/email a heslo)
- spusťte skript, ten uloží do souboru id zařízení a token

2) skript channels.php
- vypíše a uloží do souboru seznam kanálů a jejich id (dle vašeho předplatného)

3) skript play.php
url streamu:
Kód:
http://vas.webhosting/rbt/play.php?ch=1
- kdy "ch" je číslo (id) kanálu podle pořadí v mobilní aplikaci (1 = Jednotka, 4 = Markíza, atd.)
- pokud použijete htaccess, tak url streamu je
Kód:
http://vas.webhosting/rbt/1
nebo
Kód:
http://vas.webhosting/rbt/1.m3u8



RE: OTT/IPTV - jednodušeji to už nejde - staszek1503 - 23.2.2021

(08.12.2020, 11:29)tomashapl Napsal(a): Předělal jsem ten script na přihlášení, vše ostatní by mělo zůstat stejné
Kód:
 
#!/bin/sh
dir=$(dirname $0)
pwd=$(pwd)
cd ${dir}
data=$(pwd)

user=${LEPSITV_USERNAME}
pass=${LEPSITV_PASSWORD}

cookies=$(wget --no-check-certificate \
-q -O - \ 
--method POST \ 
--save-cookies cookies.txt \ 
--timeout=0 \ 
--header 'Accept: application/json, text/javascript, */*; q=0.01' \ 
--header 'X-Requested-With: XMLHttpRequest' \ 
--header 'Accept-Language: cs-cz' \ 
--header 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \ 
--header 'Cookie: lang_default=cs; onlinetv_href=https%3A%2F%2Fwww.xn--lep-tma39c.tv%2Fonlinetv%2F%3Fzarizeni%3Dios%26home_new%3D0%26login; onlinetv_href_device=ios; onlinetv_href_device_url=ios; sluzba=;' \ 
--body-data "page=login&action=login&user_name=${user}&user_password=${pass}" \ 
'https://www.xn--lep-tma39c.tv/web/ajax.php') 

key=$(cat ${data}/cookies.txt | awk -F '\t' '{if ($6=="key"){print $7}}')
echo ${key} > ${data}/login.id 

@ tomashapl
Ahoj
Lze to spustit na dekodéru E2?


RE: OTT/IPTV - jednodušeji to už nejde - koks13 - 18.8.2021

(17.3.2020, 10:23)Saros Napsal(a): Jj zapomnel jsem tam dat ten $subscription_code. Ja jsem si ten skript rozdelil na dve casti. Prvni je token a configurarion kdy se mi do souboru ulozi token a subscription_code. Spoustim jen streaming, kdy se mi data nactou ze souboru. Ted jen zjistuju jak dlouho vydrzi ten token a podle toho si pak upravim obnoveni. Taky jsem si tam dal pole abych nemusel do parametru davat cely nazev.
Token:
Kód:
<?php
#login
$username = "email";
$password = "heslo";

# token
$data = array('grant_type' => 'password', 'client_id' => 'tef-web-portal-etnetera','client_secret' => '2b16ac9984cd60dd0154f779ef200679','username' => ''.$username.'','password' => ''.$password.'', 'platform_id' => '231a7d6678d00c65f6f3b2aaa699a0d0', 'language' => 'cs');
$ch = curl_init('https://oauth.o2tv.cz/oauth/token');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: oauth.o2tv.cz', 'User-Agent: okhttp/3.12.2', 'Accept-Encoding: gzip', 'Connection: Keep-Alive', 'Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$j = json_decode($result,true);
$token = $j["access_token"];
echo $token;
curl_close($ch);

# configuration
$ch = curl_init('https://app.o2tv.cz/sws/subscription/settings/subscription-configuration.json');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-NanguTv-Device-Id: 172c533453e1b16e', 'X-NanguTv-Device-Name: Nexus 7', 'X-NanguTv-App-Version: Android#6.8.1', 'Host: oauth.o2tv.cz', 'User-Agent: okhttp/3.12.2', 'Accept-Encoding: gzip', 'Connection: Keep-Alive', 'Content-Type: application/x-www-form-urlencoded', 'X-NanguTv-Access-Token: '.$token.''));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$j = json_decode($result,true);
$subscription_code = $j["subscription"];
echo '</br>'.$subscription_code;
curl_close($ch);

#save data
$file = fopen("./o2tv_data.txt", "w");
fwrite($file, $token."\n".$subscription_code);
fclose($file);
?>
Streaming:
Kód:
<?php
#params
$channel_input = explode(".m3u8", $_GET["ch"]);
$channel_input = $channel_input[0];
$array = array('1' => 'O2 Sport HD', '2' => 'O2 Fotbal HD', '3' => 'O2 Tenis HD');
$arr = $array[$channel_input];
$channel = rawurlencode($arr);
$type = "STB";
$resolution = "HD";

#read data
$lines = file("o2tv_data.txt", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
$data = array_chunk($lines, 3);
$token = $data[0][0];
$subscription_code = $data[0][1];

#streaming
$uris = 'https://app.o2tv.cz/sws/server/streaming/uris.json?serviceType=LIVE_TV&deviceType='.$type.'&streamingProtocol=HLS&subscriptionCode='.$subscription_code.'&channelKey='.$channel.'&encryptionType=NONE';
$ch = curl_init($uris);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-NanguTv-Device-Id: 172c533453e1b16e', 'X-NanguTv-Device-Name: Nexus 7', 'X-NanguTv-App-Version: Android#6.8.1', 'Host: oauth.o2tv.cz', 'User-Agent: okhttp/3.12.2', 'Accept-Encoding: gzip', 'Connection: Keep-Alive', 'Content-Type: application/x-www-form-urlencoded', 'X-NanguTv-Access-Token: '.$token.''));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$j = json_decode($result,true);
$j = $j['uris'];
foreach($j as $v){
$q = $v['resolution'];
if ($q == $resolution) {
$url = $v['uri'];
}
}
header('Location: '.$url.'');
?>

Pak to mam takto: url/o2tv/o2tv.php?ch=1.m3u8
Pokud se pouzije htaccess tak jen url/o2tv/1.m3u8

Zdravím, mám problém script mi negeneruje token a vypíše chybu Warning: curl_setopt() expects parameter 1 to be resource, null given in /www/o2.php on line 9

Nějaká rada ? Děkuji