IPTV välityspalvelin
Korkean suorituskyvyn IPTV-välityspalvelin ja mediaportaali, joka yhdistää useat IPTV-lähteet yhteen yhtenäiseen rajapintaan.
Kehitin suorituskykyisen ja resurssitehokkaan IPTV-välityspalvelinjärjestelmän (proxy), jonka avulla useiden IPTV-tarjoajien sisällöt ja striimit saadaan yhdistettyä saman rajapinnan ja yhtenäisen käyttöliittymän alle. Ratkaisu korjaa monia yleisiä IPTV-haasteita, kuten hajanaisen sisällön selailun eri sovelluksissa, soittolistojen personointimahdollisuuksien puutteen sekä puutteelliset metatiedot, kuten ääniraitojen, tekstityskielien ja resoluution puuttumisen striimeistä. Keskeiset tekniset ratkaisut: - Resurssitehokas striimaus ja puskurointi: Koska IPTV-tarjoajat rajoittavat kuluttajayhteydet tiukasti vain yhteen samanaikaiseen striimiin, puskurointi ja striimin välitys eteenpäin tuli ratkaista minimaalisella muistin- ja prosessorinkulutuksella. Tämä toteutettiin hyödyntämällä .NET-alustan System.Threading.Channels-kirjastoa korkean suorituskyvyn asynkronisessa tuottaja-kuluttaja-mallissa (Producer-Consumer). IPTV-palveluntarjoajan striimiä lukeva osuus toimi tuottajana (Producer) ja rajapinnasta uloslähtevä HTTP-vastausvirta kuluttajana (Consumer), mikä takasi sulavan katselukokemuksen ja poisti nykimisen ilman turhia muistivarauksia. - Metatietojen louhinta reunaehdoilla: Puuttuvat kielikoodit ja resoluutiot skannataan tausta-ajona toimivalla sekventiaalisella ikiluupilla, joka tutkii käynnistettyjä striimejä FFmpeg-kirjastoa hyödyntäen – huomioiden tarjoajien yhteysrajoitukset tekemättä liikaa rinnakkaisia kutsuja. - Käyttöliittymä: Käyttöliittymä rakennettiin Vue.js- ja Quasar-kehityskehyksillä, mikä mahdollistaa äärimmäisen nopean kanavaselailun sekä soittolistan suodattamisen dynaamisesti (esimerkiksi vain paikallisesti tuettujen kielien perusteella).