September 10, 2021 at 10:42 AM

Un pic de comparație


Când am început lucrul la TV-lite, scopul meu era doar să fac un program care să suplinească golul lasat în urmă de TV-Maxe. TV-Maxe a fost unul din primele programe de IPTV pe care le știu, înainte ca IPTV-ul să prindă avânt. Programul este scris de Ovidiu Nițan  Prima versiune a apărut în 2010 și a fost activ dezvoltat până prin 2015. Scopul apariției sale a fost să suplinească lipsa unui player de Sopcast pe Linux. Programul folosea Python 2.7 și GTK+ 2.0. O altă dependență necesară pe Linux e GStreamer 0.10.
În 2020, multe distribuții de Linux, în frunte cu Ubuntu, au renunțat să suporte programele scrise în Python 2. Dacă Python 2, ca atare, nu a dispărut complet din repositorii, multe module necesare au dispărut. De asemenea a fost abandonat și GStreamer 0.10. Dacă până în 2020 s-au găsit metode de a instala TV-Maxe cam pe fiecare distribuție de Linux, din primăvara lui 2020 toate speranțele s-au năruit.
A fost momentul apariției lui TV-Lite.


Categorie: General
Postat de: oberon

TV-Maxe a fost unul dintre puținele programe de Linux, de larg interes, dezvoltat de un programator român. Să nu mă înțelegeți greșit, programatori români avem cu duiumul, dar majoritatea se rezumă la activitatea lor strict profesională. Nu prea vezi pe PC-urile de acasă programe românești. Din fericire lucrurile stau altfel pe Android. Dar să nu divagăm.
Timp de un deceniu, TV-Maxe a fost , în multe cazuri, motivul pentru care utilizatorii români de PC-uri au încercat Linux. Personal îl foloseam ca unul din argumentele cu care aduceam oamenii pe Linux. Chiar la nivel global TV-Maxe a făcut destulă „vâlvă”, utilizatori din toată lumea au făcut liste de programe, au apărut articole pe multe bloguri și situri de profil. În general TV-Maxe a lăsat o amprentă destul de frumoasă pe net, putându-se găsi și azi destule articole ce îl recomandau la vremea lui.
De aceea, știind că se va renunța la Python, am anunțat din toamna lui 2019  pe grupul de Facebook „Linux pentru prieteni” intenția mea de a creea un înlocuitor cu numele „TV-Lite”. Primele linii de cod le-am așternut în ajunul Revelionului, iar undeva în primăvara lui 2020, în plină pandemie, am lansat o primă versiune a TV-Lite.
În ultimii ani însă, peisajul IPTV a suferit schimbări. Formatul de playlist universal folosit în domeniu este M3U. Sopcast a dispărut subit și fără urmă exact în zilele când TV-Lite apărea. Alernativa sa este Acestream. Domeniul IPTV a dezvoltat o piață gri, iar playerele trebuie să se adreseze și acestei piețe. Cu toate că TV-Lite încearcă să păstreze compatibilitatea cu listele în format TV-Maxe, așa numitele „abonamente”, și cu modul lor de a fi utilizate,  TV-Lite are câteva lucruri ce îl deosebesc de TV-Maxe:

TV-Maxe însă avea și el, la rândul său niște „calități” care îl deosebesc de TV-Lite.

Listele de canale sunt tratate diferit de cele două programe. TV-Lite definește două tipuri de liste, abonamentele ce se încarcă de undeva de pe net și evident, nu pot fi modificate, deoarece modificările vor fi suprascrise la următoarea actualizare, și listele locale, ce pot fi editate și modificate după dorință. TV-Maxe avea o cu totul altă abordare. În abonamente se puteau adăuga noi canale, dar acestea erau salvate local. Canalele ce veneau în abonamentul descărcat nu puteau fi însă modificate, deoarece ar fi fost, evident, suprascrise la viitoarea actualizare a abonamentelor, la fel ca în cazul TV-Lite.

De asemenea există și o diferență de arhitectură. TV-Lite folosește biblioteca VLC "back to back". Planificam la un moment dat să folosesc și MPV în același fel, însă am amânat sine-die acest lucru, VLC funcționând fără probleme în marea majoritate a cazurilor.
TV-Maxe, în varianta Linux, folosea FFMPEG pentru transcodarea de streamuri. Stream-ul rezultat la ieșirea din FFMPEG era trecut printr-un modul server HTTP. Backend-urile folosite (VLC, GStreamer, MPlayer) se conectau la acest server HTTP intern. Pentru protocolul RTMP era folosit rtmpdump. Acest lucru limita posibilitățile TV-Maxe, acesta neputând reproduce stream-uri HLS sau mpeg prin HTTPS, deși VLC-ul din spate le-ar fi putut accepta, dacă ar fi folosit direct
De asemenea TV-Maxe folosea implementarea de client HTTP implicită din Python, din nou acest lucru împiedicându-l să acceseze abonamentele prin HTTPS.

Cam asta e comparația dintre cele două programe. Chiar dacă TV-Maxe a fost abandonat, de multe ori mă întorc la acest program, îl mai rulez și mai încerc să găsesc o idee pe care s-o implementez în TV-Lite. Lipsa evidentă este ghidul de programe (EPG), dar va fi și acesta.