Dariusz.Staropietka.com DEV

Legalna telewizja w KODI

Update: aktualnie Canal+ uruchomił fajną usługę - telewizję przez internet bez zobowiązania abonamentowego. Oznacza to (za regulaminem), że klient może, w dowolnym momencie przed końcem bieżącego okresu korzystania, zrezygnować z odnowienia usługi, w łatwy i szybki sposób po zalogowaniu się do konta i wybraniu odpowiedniego przycisku. W takim przypadku usługa zakończy się wraz z zakończeniem bieżącego okresu korzystania, bez pobrania kolejnej opłaty. Aby wybrać i zakupić pakiet, należy przejść na stronę https://kup.pl.canalplus.com/oferta/wybierz-pakiet. Instalacja wtyczki pod KODI została opisana na stronie https://kodiwpigulce.pl/jak-zainstalowac-dodatek-canal-plus-vod-w-kodi-18-poradnik/

Nie lubię mieć różnych usług w piętnastu różnych miejscach. Kiedy tak jest, trzeba się wcale nieźle naklikać, czasem poprzepinać kable. Człowiek może się tym całkiem mocno zmęczyć, naprawdę!

Kiedy chce się mieć domowe centrum rozrywki, z pomocą przychodzi KODI - darmowe, wielokrotnie nagradzane oprogramowanie typu media-center. Software jest modułowy - można do niego dodawać elementy (pluginy) najróżniejszych usług i serwisów. Tyle, że w ogromnej większości przypadków są to elementy prowadzące do pirackich treści, a używanie tychże ogólnie rzecz ujmując grozi odpowiedzialnością karną. W związku z tym, ja się nie bawię w takie gry. Wolę spać spokojnie bez obawy, że o szóstej rano do domu wpadnie mi Policja i wyniesie cały sprzęt, wyposażenie, z balkonem włącznie.

Opłacam regularnie Netflixa, polską telewizję (rzadko) oglądam poprzez WP Pilot, a zagraniczne kanały FTA (Free To Air) z satelity. Takie rozwiązanie wymaga podłączenia sprzętu i przełączenia na właściwe źródło sygnałowe zależnie od potrzeb.

Do oglądania Netflix'a i polskiej TV wykorzystuję mini PC o nazwie KHADAS VIM2. To komputerek wielkości karty kredytowej, którego obudowa ma ok. 1,5cm grubości. Urządzenie jest lekkie, nie zabiera miejsca na biurku, ale co ważniejsze - jest w pełni konfigurowalne. Oznacza to, że można zainstalować na nim solo zarówno Linuxa lub  Androida, albo dwa te systemy na raz, i przełączać się między nimi zależnie od potrzeb. W kwestii używania Androida tu jednak pojawia się problem.

Kupując sprzęt do domu, dbam o to, żeby służył mi tak długo, póki się nie zepsuje. Posiadałem wcześniej chińskiego tv-box'a z zainstalowaną szóstą wersją Androida. Wszystko było OK, póki Google nie wypuściło wersji ósmej i Netflix nie ogłosił wówczas, że starszej wersji systemu nie będzie już wspierać. W aplikacji przestał działać pilot, okna zmieniły swoje położenie wychodząc za powierzchnię ekranu - jednym słowem nie dało się niczego z tym zrobić. Szybko okazało się, że chińska konstrukcja zablokowana jest przed upgrade'm systemu, a próby robienia tego na siłę spowodowały zwarcie i smugę dymu unoszącego się nad urządzeniem. Po tym incydencie wiedziałem, że już nigdy nie kupię czegoś, nad czym nie będę miał pełnej kontroli.

W nowym komputerku zainstalowałem CoreElec - dystrybucję Linuxa z zainstalowanym KODI. Dystrybucja jest bardzo lekka, zarazem bardzo wydajna, bo stworzona dla urządzeń z procesorami ARM. Można uruchamiać ją z karty pamięci bez ingerencji w pamięć wewnętrzną, albo zainstalować na stałe w pamięci wewnętrznej. Wybrałem drugie rozwiązanie.

Na potrzeby oglądania polskiej telewizji zainstalowałem w KODI plugin WP Pilot. Do jego działania potrzebne jest konto na platformie. Bezpłatna wersja gwarantuje dostęp do 28 kanałów. Opcje płatne to oczywiście większa liczba kanałów.

Jako, że ostatnio miałem urodziny i otrzymałem od Player.pl darmowy, 7-dniowy voucher do ich platformy, w KODI zainstalowałem również plugin PlayerPLmb. Podobnie jak wtyczka do serwisu WP Pilot, plugin PlayerPLmb również posiada opcje logowania. Po co te opcje? Odpowiedź jest bardzo prosta: kiedy wykupisz subskrypcję kanałów u danego prowidera, w pluginie KODI, po zalogowaniu, dostęp do wykupionej zawartości będzie widoczny. To naprawdę sprawdza się dość dobrze. Pluginowi PlayerPLmb zarzucić można jedynie wolne przełączanie między treściami, w tym między dostępnymi w ramach pakietu kanałami TV.

Za polską telewizję odpowiadają u mnie dwa pluginy. Nie jest to najlepsze rozwiązanie, kiedy ma się część kanałów w jednym pluginie, a część w drugim. Postanowiłem więc skorzystać z wtyczki PVR IPTV Simple Client, która jest w zasadzie czytnikiem pliku M3U (format zapisu playlist, który został zaproponowany przez twórców programu Winamp). Plugin WP Pilot posiada opcję generowania listy kanałów i jej zapisu do formatu playlisty M3U, a samo użytkownie telewizji w formie prostej listy kanałów jest dość przyjemne.

Do listy M3U chciałem dodać kanały z pluginu PlayerPLmb, nie zawiera on jednak generatora playlisty. Uznałem, że to nie problem, bo skoro plugin odtwarza jakąś lokalizację, to w plikach KODi musi być zaszyta jakaś informacja z tym związana. Znalazłem ją w lokalizacji /storage/.kodi/temp/kodi.log

Składnia pliku M3U wygnerowanego z pluginu WP Pilot wygląda następująco:

#EXTM3U

#EXTINF:-1,Telewizja WP HD
plugin://plugin.video.pilot.wp?action=PLAY&channel=158

#EXTINF:-1,TVP 1 HD
plugin://plugin.video.pilot.wp?action=PLAY&channel=3

#EXTINF:-1,TVP 2 HD
plugin://plugin.video.pilot.wp?action=PLAY&channel=5

#EXTINF:-1,Polsat
plugin://plugin.video.pilot.wp?action=PLAY&channel=9

#EXTINF:-1,TVN
plugin://plugin.video.pilot.wp?action=PLAY&channel=14

...

Założyłem, że konstrukcja linków pochodzących z wtyczki PlayerPLmb powinna być podobna. Nie pomyliłem się, pochodziłem po liście kanałów w PlayerPLmb i w pliku kodi.log znalazłem wpisy, jak ten:

2020-06-11 20:45:33.472 T:4089434128  NOTICE: VideoPlayer::OpenFile: plugin://plugin.video.playermb/?name=MOTOWIZJA&moviescount=0&url=101381%3Akanal&movie=True&image=https%3A%2F%2Fr.dcs.redcdn.pl%2Fscale%2Fo2%2Ftvnplayer%2Fportal%2Fupload%2Flive%2F101381%2Fimages%2F35465661%3Ftype%3D0%26srcmode%3D4%26srcx%3D0%252F1%26srcy%3D0%252F1%26dstw%3D200%26dsth%3D200&mode=playvid&page=1

Wiedząc już jak wygląda składnia pliku M3U dla PVR IPTV Simple Client, do istniejącego pliku M3U dopisałem skopiowane z loga pozycje:

#EXTINF:-1,Ale Kino
plugin://plugin.video.playermb/?name=ALE+KINO%2B+HD&moviescount=0&url=57601%3Akanal&movie=True&image=https%3A%2F%2Fr-scale-cc.dcs.redcdn.pl%2Fscale%2Fo2%2Fn%2FedytorEPG%2Flogo%2Flogotype_250242.png%3Ftype%3D0%26srcmode%3D4%26srcx%3D0%252F1%26srcy%3D0%252F1%26dstw%3D400%26dsth%3D200&mode=playvid&page=1

#EXTINF:-1,Animal Planet
plugin://plugin.video.playermb/?name=Animal+Planet&moviescount=0&url=2930755%3Akanal&movie=True&image=https%3A%2F%2Fr-scale-d3.dcs.redcdn.pl%2Fscale%2Fo2%2Ftvnplayer%2Fportal%2Fupload%2Flive%2F2930755%2Fimages%2F48881688%3Fdsth%3D200%26dstw%3D400%26srcmode%3D0%26srcx%3D0%26srcy%3D0%26quality%3D65%26type%3D0%26srcw%3D1%2F1%26srch%3D1%2F1&mode=playvid&page=1

#EXTINF:-1,Discovery HD
plugin://plugin.video.playermb/?name=Discovery+HD&moviescount=0&url=57610%3Akanal&movie=True&image=https%3A%2F%2Fr-scale-30.dcs.redcdn.pl%2Fscale%2Fo2%2Ftvnplayer%2Fportal%2Fupload%2Flive%2F57610%2Fimages%2F49160381%3Fdsth%3D200%26dstw%3D400%26srcmode%3D0%26srcx%3D0%26srcy%3D0%26quality%3D65%26type%3D0%26srcw%3D1%2F1%26srch%3D1%2F1&mode=playvid&page=1

#EXTINF:-1,Discovery Historia
plugin://plugin.video.playermb/?name=Discovery+Historia&moviescount=0&url=2930756%3Akanal&movie=True&image=https%3A%2F%2Fr-scale-72.dcs.redcdn.pl%2Fscale%2Fo2%2Ftvnplayer%2Fportal%2Fupload%2Flive%2F2930756%2Fimages%2F48881724%3Fdsth%3D200%26dstw%3D400%26srcmode%3D0%26srcx%3D0%26srcy%3D0%26quality%3D65%26type%3D0%26srcw%3D1%2F1%26srch%3D1%2F1&mode=playvid&page=1

...

Plik M3U zapisałem, po czym zrestartowałem PVR IPTV Simple Client'a. Na ekranie głównym KODI pojawiła się nowa pozycja o nazwie "telewizja" z kanałami spisanymi z dwóch pluginów.

Oczywiście nie byłbym sobą, gdybym nie zdecydował się dołożyć jeszcze do kompletu listy z dekodera satelitarnego ;-)

Mój dekoder posiada zainstalowany system Enigma2, umożliwiający dostęp do kanałów z dowolnego urządzenia, poprzez webpanel zgłaszający się na IP dekodera:

Dostęp do kanałów odbywa się poprzez plik m3u wygenerowany przy każdym z wylistowanych kanałów. Pobrałem plik pierwszego kanału, jaki wpadł mi w oko - Al Jazeera - i zajrzałem do jego treści:

#EXTM3U
#EXTVLCOPT--http-reconnect=true
#EXTINF:-1,Al Jazeera HD
#EXTVLCOPT:program=52189
http://192.168.0.102:8001/1:0:19:CBDD:831:2:11A0000:0:0:0:

Dopisałem wiersze 2-5 do pliku listy PVR IPTV Simple Client'a. Zrestartowałem plugin i... kanał Al Jazeera pojawił się na liście.