m3u8 proxy for shortcut.lv streams
Ivars c367cf4dd7 papildus diagnostika u.c. hace 5 años
.gitignore Initial commit hace 5 años
LICENSE Initial commit hace 5 años
README.md requirements hace 5 años
bottle.py sākotnējais komits hace 5 años
changelog.md sākotnējais komits hace 5 años
daemonize.py sākotnējais komits hace 5 años
ltc2.m3u8 sākotnējais komits hace 5 años
ltcproxy.py papildus diagnostika u.c. hace 5 años
ltcproxy0.cfg Pēdējā strādājošā versija hace 5 años
mtbottle.py sākotnējais komits hace 5 años
mtwsgi.py papildus diagnostika u.c. hace 5 años
requirements.txt requirements hace 5 años

README.md

ltcproxy - m3u8 playlist proxy for shortcut.lv

Eksponē permamentus m3u8 linkus (playlisti), ko var norādīt PerfectPlayer, Kodi vai kādai citai IPTV aplikācijai.

Ļauj skatīties shortcut.lv uz jebkuras iekārtas klasiskās TV pieredzes formā. Var to darīt no vairākām iekārtām (proxy režīmā).

Strādā arhīvs (ar PerfectPlayer, bet var teorētiski pielāgot arī citiem pleijeriem).

Nepieciešams derīgs shortcut.lv konts.

Strādā jebkuŗā tīklā (tiek izmantots Android TV shortcut API).

Pagaidām ALFA versija (proof of concept, daudz vēl kas pietaisāms)!

Instalēšana

  1. Strādā uz jebkura datora, kur ir Python 2.7. Vislabāk kāds Linux serveris, var arī uz Windows (nestrādās daemona režīms)

  2. Lejupielādējam/atzipojam aktuālo versiju no http://git.blue.lv/home/ltcproxy vai noklonējam folderi ar git clone http://git.blue.lv/home/ltcproxy un uztaisam cd uz folderi.

  3. Uzinstalējam Python atkarības

    pip install -r requirements.txt
    
  4. (Optional) Uzinstalējam “mīļāko” WSGI serveri - cheroot, waitress u.c. Skat. iespējamos variantus https://bottlepy.org/docs/dev/deployment.html. Defaultā strādas ar wsgiref, kas derēs mazām slodzēm. Piemēram,

    pip install cheroot
    
  5. Sakonfigurējam ar redatoru ltcproxy.cfg

    • debug = False|True - papildus debug info
    • port = 8881 - proxy ports
    • redirect = False - ja True, tad veic vienkāršu pāradresāciju (302), citādi strādā kā proxy
    • cache = True - kešo pieprasījumus (t.sk. video), lai lieki neraustītu shortcut.lv serveri un paātrinātu darbu
    • key = 0000 - drošības kods, kas jānorāda url (skat ltc2.m3u9 piemēru)
    • wsgi = wsgiref|mtwsgi|cheroot|waitress... - izmantojamais WSGI serveris (mtwsgi - multitredingots defaultais wsgi)
    • workers = n - tredu skaits (atkarībā no izmantotā WSGI servera)
    • ltc_user = user - shortcut.lv lietotājs
    • ltc_password = passowrd - shortcut.lv parole
    • Piestartējam vai no foreground vai daemon (tikai uz linux) režīmā atticīgi (palaižot bez parametriem var redzēt iespējamās opcijas) python ltcproxy.py manualstart python ltcproxy.py start
  6. Ja daemon procesu vajag apstādināt vai pārstartēt

    python ltcproxy.py stop
    python ltcproxy.py restart
    
  7. Sagatavojam pleilisti. Paraugs ltc2.m3u8 ir folderī vai šeit http://epg.blue.lv/ltc2.m3u8. localhost aizvietojam ar servera hostname. Neaizmirtam ielikt pareizo key uzreiz pēc servera vārda. Kanāla paraugs (catchup tagi ir lai strādātu arhīvs PerfectPlayer)

    #EXTINF:0 group-title="Latvian" tvg-id="ltc101" tvg-logo="https://manstv.lattelecom.tv/images/01_Bildes/01_Kanalu_LOGO/ltv-1_70x70.png" 
    catchup="append" catchup-source="${start}/",LTV1
    http://hostname:8881/00000/live/101/
    
  8. IPTV aplikācijā norādām sagatavoto playlisti, kā arī EPG linku. Pašreiz var izmantot http://epg.blue.lv/ltc.xml.gz. Paredzēts, ka nākotnē to eksponēs ltcproxy.

  9. Tas arī viss. Ja lieto kešu, tad vēlams 1x dienā pārstartēt (pārstartējot kešs nodzēšas). Ja iestrēgst kanāls, var mēģināt pārslēgties uz priekšu/atpakaļ. Ja nelīdz, tad jāpārstartē ltcproxy.

Zināmās kļūdas/plāni

  • Ne līdz galam korekti nostrādā HEAD pieprasījumi (daži playeri pirms spēlēšanas nočeko ar HEAD, kas par strīma tipu). Šī iemesla dēļ šobrīd nestrādā uz Android TV Channels
  • Brīžiem pārlec uz priekšu atpakaļ par 5-10 sekundēm proxy režīmā (īsti nesaprotu iemeslu, varbūt kaut kāda shortcut strīmu īpatnība atjaunojot sesijas kukiju)
  • Plānā ir iespēja skatīties shortcut.lv filmas VOD playlista veidā
  • Plānā ir iespēja proxy režīmā izmantot citus (ne ltc strīmus)

Kļūdām/ierosmēm

Kaut kā tā,

ivars777@gmail.com