Kaip mes sukūrėme internetinį šokių balių

Kaip mes sukūrėme internetinį šokių balių

Didysis Sevastopolio karininkų balius tradiciškai vyksta birželį, tačiau šį kartą pasiruošimas nebuvo sėkmingas. Organizatoriai nusprendė pradėti „Sevastopolio balių internetu“. Kadangi renginį transliuojame jau keletą metų iš eilės, trauktis nebuvo kur. Žiūrovai Facebook, VKontakte ir YouTube, namuose šoka 35 poros.

Apskritai, jau kurį laiką dalyvaudami internetinėse transliacijose, pastebėjome tendenciją, kad beveik kiekvienas projektas reikalauja (arba reikalaujame iš savęs) kokių nors naujovių. Arba pirmą kartą naudojame SDI, arba vaizdo siųstuvą, arba signalą perduodame keliais 4G modemais iš jūros, nauju nuotolinio valdymo pulteliu, signalo matrica, vaizdo ėmimu iš kopterio, persiunčiame į 25 VK grupes ir Kaip. Kiekvienas naujas projektas verčia dar giliau pasinerti į srautinio perdavimo pasaulį. Apie tai kalbame „YouTube VidMK“ ir nusprendėme parašyti Habr.

Taigi, užduotis...

Šokių balius dėl epidemijos vyksta internete. Yra vadovaujanti pora, likusieji dalyviai šoka, kartodami paskui juos, tai yra, kartu su muzika turi matyti ir girdėti pagrindinę porą.

Kaip mes sukūrėme internetinį šokių balių

Pradžioje Sevastopolio gubernatorius prisijungia atidaryti kamuolį. Baigta, nukreipta transliacija patenka į „YouTube“, „Facebook“ ir VK.

Kaip mes sukūrėme internetinį šokių balių

Akivaizdžiausias būdas buvo skambinti visiems per vaizdo pokalbį. Pirmiausia į galvą šovė Zoom, bet dažniausiai stengiuosi ne iš karto griebtis to, ką išgirstu, o ieškoti alternatyvų. Galbūt jų rinkodara yra puiki, ir net jei įrankis yra geras, tikriausiai yra kažkas kito. Jie kelis kartus kalbėjo apie TrueConf AVstream pokalbyje, todėl nusprendžiau pabandyti.

Čia svarbu pasakyti, kad esame Kryme ir daugelis populiarių paslaugų čia neveikia. Reikia ieškoti, o alternatyvos dažnai būna geresnės. Taigi, pavyzdžiui, vietoj užblokuoto Trello pradėjome naudoti galingą Planfix.

„TrueConf“ iš karto mane patraukė galimybe pakelti savo serverį. Teoriškai tai reikštų, kad nesame priklausomi nuo bendro padidėjusio duomenų centrų apkrovimo saviizoliacijos laikotarpiu, ramiai sėdime Sevastopolyje, jungiame daugiausia vietinius vartotojus ir kelis iš kitų miestų, ir viskas veikia stabiliai. Be to, nuosavo serverio naudojimas buvo pelningesnis pinigų atžvilgiu. O mūsų klientams jie taip pat davė nemokamai, nes baliaus organizatoriai buvo nevyriausybinės organizacijos.

Apskritai mes išbandėme produktą ir supratome, kad jis mums tinka. Nors bandymų metu nebuvo pilna 35 žmonių apkrova, buvo šiek tiek baisu, kaip senas kompiuteris elgsis kaip serveris. Reikalavimai sisteminiam blokui esant tokiai apkrovai gana aukšti, todėl atsivežėme kompiuterį AMD Ryzen 7 2700 pagrindu, su juo tapo ramiau.

Serveris fiziškai buvo toje pačioje vietoje, kur buvo transliuojamas kamuolys. Pagrindinė vaizdo ryšio programa buvo prijungta prie to paties tinklo kaip ir serveris. Tai padidino pasitikėjimą, kad nuotrauka tikrai pasieks serverį ir tik tada prisijungs prie kitų dalyvių. Beje, internetas turi būti geras. Mūsų 35 dalyviams įkėlimo greitis siekė 120 Mbit, tai yra, įprasto 100 Mbit interneto neužteks. Apskritai serveris veikia, einam transliuoti...

Kameros signalas

Bet kuriame vaizdo pokalbyje galite pasirinkti internetinę kamerą kaip vaizdo šaltinį ir garso mikrofoną. Ką daryti, jei mums reikia profesionalios vaizdo kameros ir garso iš dviejų mikrofonų su garso takeliu? Trumpai tariant, mes naudojome NDI.

Teko režisuoti visą transliaciją ir transliuoti ją socialiniuose tinkluose. Norėdami tai padaryti, turėjome pagrindinį kompiuterį kaip mini-PTS (mobiliosios televizijos studiją). Visi darbai buvo atlikti naudojant vMix programą. Tai gana galinga programinė įranga, skirta organizuoti įvairaus tipo ir sudėtingumo transliacijas.

Kaip mes sukūrėme internetinį šokių balių

Mūsų šokėjų porą filmavo viena kamera, daugiau tiesiog nereikėjo. Signalą iš kameros užfiksavome naudodami vidinę BlackMagic Intensity Pro kortelę. Mano nuomone, tai yra tinkama kortelė vienam HDMI signalui užfiksuoti. Šis signalas turėjo būti išsiųstas kaip žiniatinklio kamera TrueConf. Naudojant vMix buvo galima iš karto konvertuoti srautą į internetinę kamerą, bet nenorėjau visko kaupti viename kompiuteryje. Todėl konferenciniam pokalbiui buvo naudojamas atskiras nešiojamas kompiuteris.

Kaip gauti signalą iš nešiojamojo kompiuterio kameros? Galite sukurti virtualų vaizdo signalą viename kompiuteryje ir užfiksuoti jį bet kuriame kitame vietinio tinklo kompiuteryje tiek kartų, kiek norite. Tai NDI (tinklo įrenginio sąsaja). Iš esmės savotiškas virtualus kabelis, kurio nereikia jokiu specialiu būdu administruoti. Vieno srauto plotis 1080p25 yra beveik 100 Mbit, todėl stabiliam darbui būtinai reikia 1 Gbit tinklo arba didesnio nei 150 Mbit Wi-Fi. Bet kabelis geresnis. Viename vietiniame tinkle gali būti daug tokių NDI signalų, jei tik kanalo plotis yra pakankamas.

Taigi pagrindiniame kompiuteryje vMix matome kameros signalą, siunčiame jį į tinklą kaip NDI signalą. Skambinančiame nešiojamame kompiuteryje šį signalą sugauname naudodami NDI virtualios įvesties programą iš NDI Tools paketo (ji nemokama). Ši mini programa sukuria virtualią internetinę kamerą, kurioje įjungiate norimą NDI signalą. Tiesą sakant, tai viskas, mūsų HDMI kamera per NDI pasirodė „TrueConf“.

O kaip garsas?

Kaip mes sukūrėme internetinį šokių balių

Surenkame garsą iš dviejų radijo mikrofonų ir garso takelio naudodami gerą garso nuotolinio valdymo pultą ir perduodame jį į vMix su išorine garso plokšte. Būtent šį garso kiekį mes siunčiame tiesiogiai ir į mūsų NDI srautą, skirtą „TruConf“. Ten vietoj nešiojamojo kompiuterio mikrofono pasirenkame NewTek NDI Audio. Dabar visi mūsų šokėjai mato ir girdi mūsų gražų vaizdą ir aukštos kokybės garsą skambutyje.

Vaizdas eteryje

TrueConf pasirinko įprastą skambinimo režimą, kai visi mato visus. Taip pat buvo variantas, kai matome visus, o visi mato tik vedėjus. Taip efektyviau, bet tada nebūtų masinio efekto.

Kaip mes sukūrėme internetinį šokių balių

Skambinimo formatu „visi mato visus“ galite pasirinkti bet kurį langą, kurį reikia padaryti didelį. Taigi dalyviai pamatė pirmaujančią porą, o mes sukūrėme kitą vartotoją, iš kurio paskyros transliavome vaizdą ir perjungėme poras. Spustelėjome norimą porą ir padidinome jų ekraną; likusios poros buvo mažos žemiau. Kartais buvo rodomi visi ekranai, rodantys, kiek žmonių šoka sinchroniškai.

Dabar apie sinchroniškumą

Tikriausiai susimąstėte dėl vėlavimo. Taip, buvo, apie 1-2 sekundes į abi puses. Čia mums groja muzika, garsas dalyvius pasiekia vėliau, jie šoka tokiu ritmu, o jų vaizdas mums sugrįžta dar vėliau. Mes nusprendėme to nepaisyti formato rėmuose, tačiau jis vis tiek atrodė didelio masto ir įdomus.

Žiūrovų sinchronizacijos problemą galima išspręsti dirbtinai atidėjus garsą mūsų transliacijoje socialiniams tinklams. Tada srauto žiūrovas pamatytų, kaip dalyviai šoka tiksliai pagal muzikos ritmą. Tačiau tai nėra faktas, kad vaizdas iš visų ateina su tuo pačiu vėlavimu. Tai dar viena transliacijos schemos komplikacija, tai tikrai darysime kitą kartą.

Beje, NDI Tools pakete yra dar viena mini programa – Scan Converter. Jis sukuria NDI signalą užfiksuodamas ekraną arba internetinę kamerą. Taip galite lengvai organizuoti transliacijas, pavyzdžiui, kibernetines varžybas vietiniame tinkle, turėdami tik šį tinklą ir žiniatinklio kameras. Daugiau prietaisų nereikia.

Kaip mes sukūrėme internetinį šokių balių

Mums tai buvo dar vienas projektas, kuriame teko išbandyti naujus sprendimus, su kuriais dar nebuvome susidūrę kovos srautuose. Mielai atsakysiu į visus jūsų komentarus, atidžiai ir su susidomėjimu išnagrinėsiu jūsų pageidavimus ir rekomendacijas, jei žinote, kaip galėtume padaryti geriau. Srautinės transliacijos pasaulis yra begalinis, prieš akis iškyla daugybė technologijų ir kartu galime mokytis greičiau. Žemiau galite peržiūrėti apžvalginį vaizdo įrašą iš svetainės.



Šaltinis: www.habr.com

Добавить комментарий