Tady to máte pro živé kanály dostupné na webu ČT (iVysílání), technicky jim to zajišťuje O2TV.
Tohle uložím jako /home/hts/ivysilani.sh, nezapomenu "chmod +x /home/hts/ivysilani.sh". Taky pozor na unixové konce řádků, mohl by být problém s rozpoznáním parseru... :-)
Kód:
#!/bin/bash
he1=`wget -q -O - http://www.ceskatelevize.cz/ivysilani/ajax/get-client-playlist --post-data="requestUrl=/ivysilani/embed/iFramePlayer.php&type=html&requestSource=iVysilani&playlist%5B0%5D%5Bid%5D=$1&playlist%5B0%5D%5Btype%5D=channel" --header="x-addr: 127.0.0.1" | sed -e "s/\(.*\)?key=\(.\{32\}\)\(.*\)$/\2/g"`
he2=`wget -q -O - "http://www.ceskatelevize.cz/ivysilani/client-playlist/?key=${he1}" | sed -e "s/\(.*\)main\":\"\(.*\)\",\"\(.*\)$/\2/g" | tr '\\\\' '/' | sed -e "s/\/\//\//g"`
he3=`wget -q -O - "${he2}" | tail -n 1`
ffmpeg -re -fflags +genpts -i "${he3}" -f mpegts -vcodec copy -acodec copy pipe:1
.. v TVH pak zadám jako iptv mux "pipe:///home/hts/ivysilani.sh 1", parametr za skriptem určuje požadovaný kanál, v tomto případě 1=ct1, 2=ct2, 3=ct24, 4=sport, 5=decko, 6=art
Pak to spustím, hraje to...
--
POZOR: Jsou to veřejně dostupné streamy iVysílání od ČT, čili mají všechny nevýhody, které se k tomu vážou - vzhledem k tomu, že ne všechny pořady mají práva pro internetové vysílání, tak u nezahrnutých pořadů tam nic nehraje, resp. hraje "pauza" :-) Nelze to tedy považovat za náhradu plnohodnotné ČT z antény nebo SAT/IPTV operátora, je tam jen to na co má ČT práva vysílat veřejně po internetu.