m3u8 proxy for shortcut.lv streams
Ivars e01410dd1f labojumi 5 лет назад
.gitignore Initial commit 5 лет назад
LICENSE Initial commit 5 лет назад
README.md requirements 5 лет назад
bottle.py sākotnējais komits 5 лет назад
changelog.md sākotnējais komits 5 лет назад
daemonize.py sākotnējais komits 5 лет назад
ltc2.m3u8 sākotnējais komits 5 лет назад
ltcproxy.py labojumi 5 лет назад
ltcproxy0.cfg Pēdējā strādājošā versija 5 лет назад
mtbottle.py sākotnējais komits 5 лет назад
mtwsgi.py papildus diagnostika u.c. 5 лет назад
requirements.txt requirements 5 лет назад

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