A dolgos november vége felé: projektleírás nektek
Added 2021-11-28 14:35:32 +0000 UTCSziasztok, patronkák! Híreket mondok.
Ma november 28-a van, tehát még négy nap, és kiderül, itt maradhatok-e Kanadában. Ez a meghallgatás értelemszerűen jobban foglalkoztatott a hónap nagy részében, mint bármi más. Rengeteget kellett pakolászni az iratokat, bizonyítékokat, hogy minden időben elkészüljön és be legyen adva. Szerettem volna vlogolni Kyle Rittenhouse ügyéről, de sajnos nem maradt rá idő. Kérem elnézéseteket!
Más dolgokon azonban folyik a munka, elsősorban a Rabbitwave-en. Egyrészt már készül egy remek főcím, kézzel rajzolt animáció formájában. Másrészt fejlődik a mögötte levő technika, amellyel majd felvesszük. Amilyen egyszerűnek tűnik, annyira nem az.
A feladat: összehozni legfeljebb hat vendéget egy közös streambe, amelyben beszélgethetünk, és bemutathatunk képeket, videókat. Mindezt aztán automatikusan feltölthető videóvá gyúrni, elejére-végére főcímet biggyeszteni, esetleg valami logót az egész fölé. Mint mondom, ez nem tűnik olyan nehéznek, hiszen megoldható valamilyen chatprogrammal, pl. Skype, Google Meet, Discord. Ezt csak addig hiszi bárki, amíg meg nem próbálja.
A magam részéről végtelenül igénytelennek tartanám, ha egy chatprogram ablakát tennénk ki vlog gyanánt. Ez persze csak az én maximalista lelkem sírás-rívása. Ugyanakkor ezek az appok rendkívül lebutítják a streamelt tartalmat. Nem arra találták ki őket, hogy minőségi videót hozzanak össze egynél több forrásból. Változik a képtömörítés mértéke, elakad a hang, olvashatatlanná válik a szöveg, amit a vendég mutatni szeretne. Mindannyian ismerjük ezeket a problémákat, de beszélgetések közben messze nem annyira zavaróak, mint egy "tévéműsorban" lennének.
Nem várhatjuk el, hogy minden egyes vendégünk feltelepítse pl. az OBS-t (ami amúgy is egy csigalassú szar) és profi streamerré képezze magát a kedvünkért. El tudjátok képzelni mondjuk Bloginról vagy Pozsonyi Ádámról? Na ugye. Ezért elkezdtem írni Electronban egy saját streamer klienst, ami csak azt tudja, amit kell, és nem kell hozzá külön tanfolyamra mennie senkinek. Kamera, mikrofon, és egy lista képekről és videókról, amit szeretnél megmutatni a műsorban. Vagyis olyan egyszerű, mint akármelyik videokonferencia-app. Minden létező platformon működik, Windows, Mac, Linux, Android. Na jó, iOS-hez nem alacsonyodom le.
A technikai izgalmak a szerveroldalon kezdődnek, ugyanis meglehetősen sajátos megoldást találtam ki. A szerver ugyanis nem Node.js vagy hasonló lesz, hanem az is Electron.
Sokat gondolkodtam, hogyan lehetne összemixelni négy vagy több streamet úgy, hogy a kép- és hangminőség megfelelő legyen, lehessen távolról vezérelni, mikor kit vagy mit mutasson, és a bemutatott videók, képek is teljes képernyőre kerüljenek. A képváltások lehetőleg ne ugorjanak, hanem átússzanak, automatikusan kerüljön fel a logónk a kép sarkába. Amikor befejeztük, a szerver automatikusan vágja le a felesleget a felvétel elejéről és végéről, tegye rá a főcímet és a végefőcímet, majd töltse fel oda, ahová fel szeretnénk majd tenni. S persze ne csússzon a hang, ne akadozzon semmi. Programozó kollégák már biztosan vakarják a fejüket, mert ez bizony bődületes feladat. Na, ezért lesz Electron, mert...
Mert ki mondta, hogy mindezzel kódból kell küszködni?
A "szerver" valójában nem szerver lesz, hanem egy Raspberry Pi 4. Nem is kell, hogy igazi szerver legyen, hiszen nincs rá szükség, amikor éppen nem készül felvétel, minek lógjon a neten. Ezen is egy Electron app fut, ami egész egyszerűen megjeleníti a képernyőn a befutó streameket, szétosztva a képernyő négy sarkába. Vagy hat, vagy három, amennyi vendég éppen lesz.
Ezután pedig nem történik semmiféle CPU-zabáló videóvarázslat. A HDMI porton lóg egy 20 dolláros HDMI-USB konverter, és folyamatosan küldi a képernyő tartalmát egy második Raspberrynek, amely rögzíti azt webkamera-képként. Egyúttal streameli vissza a résztvevőknek, hogy lássuk, mit csinálunk együtt. Ez biztos, hogy akadozásmentes, állandó minőségű videót eredményez, pontosan abban a minőségben, ahogyan beérkezett.
Miért kell ehhez két Raspberry? Azért, hogy tényleg ne akadjon semmi. Az egyik lesz a "stúdió", amelyet távvezérelhetünk, hogy éppen mit mutasson. A másik meg csak ír, mint a hülye, és az USB-ről kapott képet streameli. Még az is lehet egyébként, hogy egy is elég lesz, hiszen a képernyő tartalmát közvetlenül is rögzítheti, mindenféle HDMI-varázslat nélkül. Kérdés persze, hogy bírja-e a három feladatot egyszerre. Ezt majd tesztelni kell.
A műsorban bemutatni kívánt képeket, videókat a felvétel előtt fel lehet majd tölteni. Így amikor mutat valamit egy vendég, csak a parancs megy át, nem az egész videó, és tökéletes minőségben kerül majd rá a felvételre a bemutatott anyag.
A megvalósítás jelenleg a streamernél tart. Már lehet vele streamelni, csak még nem fogadja senki. Érdekes móka a WebRTC.
üdv
tomcat
Comments
Nyilván az elbírálók mondják ki a döntést. A papírok csak most jutottak el hozzájuk, pár napja. Ugyanakkor elég erős érveim vannak, s nemcsak magára az ügyre vonatkozóan. Olyan hosszú ideig parkoltatták az eljárást, hogy az már valószínűleg megszüntetési ok. Szóval lehet, hogy elég rövid lesz az egész. Igen, valóban egy pitch lesz, már csak azért is, mert itt a "balance of probabilities" számít, nem "beyond reasonable doubt", mint egy büntetőeljárásban. Ha az én változatom valószínűbbnek hangzik, mint amit a CBSA állít, akkor nekem lesz igazam.
Tamas Polgar
2021-11-30 17:05:43 +0000 UTCEz a meghallgatás, mármint a kimenetele, mennyiben függ tőled, és mennyiben az elbírálókon? Hiszen apapírok már rég náluk vannak, akár prekoncepcióval is indulhatnak és akkor meg olyan az egész, mint egy pitchelés, nem? Ha jól adod elő, szimpi vagy, maradhatsz, ha nem, akkor mehetsz amerre látsz.
Bogcsy
2021-11-30 16:42:56 +0000 UTC