• 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:
  • 10 Hlas(ů) - 2.4 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
OTT/IPTV - jednodušeji to už nejde
@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/ap...o-windows/
Jsem již neaktivní uživatel.. Některá mnou postnutá řešení už nemusejí být dostupná..
 
Citovat
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 
 
Citovat
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
 
Citovat
@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.
 
Citovat
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.
 
Citovat
@Saros Jasně, chápu. Dík.
 
Citovat
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}
VPS TVH, Webgrab... Server > Odroid-N2 Coreelec (Tvheadend client)
 
Citovat
quality=120 je něco nového? dosud jsme používali 40
 
Citovat
Me to teda nefunguje. Asi to je taky podle toho, jake zarizeni se identifikuje.
 
Citovat
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í..
VPS TVH, Webgrab... Server > Odroid-N2 Coreelec (Tvheadend client)
 
Citovat
Aha. Tak tyhle zarizeni nemam povoleny
 
Citovat
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
 
Citovat
@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.
 
Citovat
@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
VPS TVH, Webgrab... Server > Odroid-N2 Coreelec (Tvheadend client)
 
Citovat
@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
 
Citovat
djlucas: díky za info
 
Citovat
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
 
Citovat
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


Přiložené soubory
.zip   rebit.zip (Velikost: 2,68 KB / Stažení: 56)
 
Citovat
(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?
 
Citovat
(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
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)