Streaming Czequestrie 2019

Upgrade time! Stavba 16 jádrového stroje, diskové pole HP, SDI, převodníky recording ve 4K a streaming ve FullHD! (cha cha cha *facepalm* )

Navazuju na můj předchozí streaming z Karaoke 2018 ve kterém jsem poprvé streamoval v s trochu lepším technikou. Čas se posunul a článek začínám psát na začátků května 2019, kdy jsem za svými zády zrovna doinstaloval nový 16 jádrový stroj, který bude určen na 4K streaming/recording. Jeho konfigurace je

  • AMD ThreadRipper 1950x ; 16C/32T na frekvenci 3,4 Ghz
  • MSI X399 SLI PLUS
  • 4x 8GB RAM DDR4 3200 Mhz ; 32 GB celkem
  • Nvidia Quadro P600
  • 1x 512 GB SSD pro OS
  • Diskové Pole HP D2600 s 5x 2TB RAID5 (4x RAID5 + 1hotspare)

Úložný prostor

Někoho může zarazit proč jsem zvolil zrovna HW raid a ne raid na chipsetu AMD X399. Testy ukázaly že i dnes stále fake raidy nejsou příliš dobré z pohledu výkonu. Původní idea byla použít RAID10 pole z 4x 2 TB HDD jenže testy ukázaly že write prefromance pole bylo horší než u jednoho disku. No posuďte X399 RAID10 dávál nevyšší zápis cca 90 MB/s což je brutálně málo. Ten samý disk z tohoto pole dáva 115 MB/s, čiže jsem disky vzal do práce kde se mi válí na stole postarší HW raid řadič LSI 9260-i4. Ve stejné konfiguraci RAID10 dávalo pole přibližně dvojnásobný výkon. Zápis zhruba 230 MB/s čtení pak lehce nad 400 MB/s. Všechny testy jsem prováděl jako LINEARNÍ čtení/zápis. Stream je přesně tento typ workloadu podobné jako DVR. Výkon RAID1 je zhruba identický jako u jednoho disku a rozdíl mezi NTFS RAID1 a “fake” RAID1 je na úrovni chyby měření. Nicméně NTFS RAID má výhodu v tom, že ho lze nosit mezi systémy Windows což u fakeraidu nejde. Výsledkem jsou sice 2 disky v systému o velikosti 2TB ale jsou dost rychlé a redundantí na to aby byly schopny nahrávat 4K H264 stream o bitrate cca 400 Mbit.

28.5:2019: Konečně dorazil řadič, z ebaye jsem objednal LSI MegaSAS 9686CV-8e, je to řadič s externími konektory SFF-8088 sběrnice SAS a 1GB cache zálohované super kondenzátory. Udělal jsem rozhodnutí celý storage externalizovat. Za tímto učelem budu od firmy kde pracuju odkupovat 2 diskové cage ze starých intel serverů. Lze do toho zapojit až 6 SATA/SAS HDD. Jen čekám až dorazí redukce SFF-8088 na SFF-8087 abych byl schopen tyto HDD cages připojit k řadiči.

7.6.2019: Došlo k zásadním změnám. Nakonec jsem HDD cage z firmy neodkupoval. Důvody byly to, že přes redukci SFF-8088 na SFF-8087 a následným breakout kabelem mi po připojení zmíněných HDD cage řadič hlásil mraky chyb “sas topology error smp function failed“. Dle manuálu to znamená, že se řadič nemůže domluvit s expanderem.

18.6.2019: Konečně dorazilo diskové pole HP D2600 pro 12 SAS/SATA disků. Z předchozích experimentů mi zbyla redukce externí SFF-8088 na SFF-8087 interní nemám pro ní využití. Chvíli sem si s polem hrál a nejdříve na mě log řadiče zase vyblil miliardu chyb stejně jako při testování dříve ale zřejmě si to pacholek pamatoval z předchozího experimentu neboť tam bylo datum ~2 týdny zpět. Po vytrpění toho otravného dialogu všechno jelo jako na drátkách! Do šachet v poli jsem nastrkal celkem 4x 2TB disky co mám ze staré NASky, konkrétně jde o modely WD20EARS. Vytvoření pole byla hračka a read performance mě velmi překvapil. S pomocí 1 GB cache ukazoval task manager čtení 1,1 GB/s a zápis přibližně 220 MB/s na RAID10 poli! Ještě zbývá vyřešit ventilátorek na chladič diskového řadiče protože se opravdu HODNĚ hřeje. Normální teplota je dle výrobce 90 stupňů ale za předpokladu že ve skříni je průvan.

17.7.2019: Konečně sem měl čas se stavit do Syntexu si vyzvednou BMD převodníky. Nakonec jsem zůstal u 6G verzí (4Kp30) v sestavě 1x HDMI to SDI a SDI to HDMI. K tomu všemu pak kartu DeckLink 8K pro, která umožňuje 4 nezávislé SDI kanály od SD-SDI až po 12G SDI. Což je funkce která nově přibyla až nedávným firmware update. Před tím šlo nabírat jen 1x 12G SDI nebo Quadlink 12G SDI v pro 8K.

I WAS IN Heaven! Návštěva Syntexu byla něco podobného jako návštěva B&H v Americe. Hromada kamer a příslušenství, okouknul jsem tam URSU Broadcast a URSU mini pro G2.

Dlouhá pomlka, přípravy jely na plný kotel. A dokonce jsem měl půjčenou Ursu mini pro ! (gen 1)

Je po Czequestrii, dnes je 27.8.2019 a já si pomalu uvědomuji co všechno se nepovedlo během Streamingu Czequestrie 2019 a co všechno se pro příště změní. Nyní všechno hezky popořadě:

Den -3: Prohlídka

Stejně jako i v roce 2017 sme se sešli s správcem budovy, pro prověření jestli je všechno jak potřebujeme. Oproti předchozímu roku nebylo v plánu zpřístupnění WiFi pro běžné účastníky ale jen čistě pro běh conu a vendorů. Rozhodnutí bylo pokud možno nechat celý mobilní rack v horním velkém sále v audio kukani. Což nakonec bylo možné, ethernet tam měli přivedený přímo na místo. Ještě se vyzkoušela druhá přípojka protože v sále byl umístěný WiFi access point který měl pass-thru ethernet port. Z access pointu z ventilace se naměřilo tradičně jako dříve jen 10/10 Mbps ale na kabelu v kukani 30/16 Mbps což bylo o dost lepší.

Den 0: Vypůjčka videotechniky & LARP

V pátek den před zahájením Czequestrie již tradičně probíhal LARP organizovaný Tomem0147 stejně jako předchozí roky. Zde vidím první problém, který jsem si způsobil, tím že jsem se sice neúčastnil LARPu jako účastník ale jen jsem dělal záběry. Přípravy v KD Krakov probíhaly už v pátek od 14h do 17h a půjčovna, kde jsem objednal videotechniku měla výdej pro víkendovky mezi 15-18h. Problém byl, že než jsme se dostali na konec LARPových NPC tak bylo 15:30 a já sem ještě musel na Jiřího z Poděbrad to jít vyzvednout.

Půjčovali jsme:

  • BlackMagic Design Ursa Mini pro (gen 1) + 2x V-lock akumulátor
  • Objektiv Canon EF 24-105mm
  • 30m SDI buben
  • DataVideo DAC-70 převodník pro náběr obrazu z projektoru

Nicméně zhruba někdy kolem 14:30 mi volal člověk z rentalu že nemá CFAST karty a objektiv co jsem objednal. Well domluvili jsme se že CFAST karty vlastně nepotřebuju a objektivy mi nabídnul Sigma 18-35mm a 50-100mm obojí s konstantní clonou f1.8 za stejnou cenu. Poté co jsem dorazil na místo tak naprosto férově mi neúčtovali zálohu za což velký dík! Co byl ale fail z mé strany bylo rozhodnutí všechnu tuhle krásu tahat ručně metrem. Taška měla snad 15 Kg tak že když sem to konečně dovalil domu tak jsem byl úpně durch. Bohužel jak se ukázalo tak časově jsem dorazil někdy v 16:30 a náložit auto by trvalo mininálně další půl hodinu. To znamenalo že jsem páteční přípravy odpískal protože bych do KD Krakov prostě nestihnul dojet včas. A to ve výsledku byla velká chyba! Kvůli celkovému vyčerpání jsem nebyl ani na poLARPové preparty, která se konala ve Stromovce.

BlackMagic Design Ursa Mini pro generace 1 s objektivem Sigma 50-100mm f1.8

Den 1: První den, k***a ono to nejede!

Budíček jsem si nastavil na 6:45 protože přípravy v KD Krakov probíhaly už od 8:00 a musel jsem ještě naložit auto. Naštěstí u mě v době Czequestrie přespával Artic Blue tak že jsem měl ráno k dispozici jednu pomoc. Všechno šlo relativně rychle a naloženo bylo v 7:40. Na místo jsme dojeli v 8:05. Chvíli se jen čekalo až se otevře kulturák a než dorazí zbytek organizátorů. Doposud jelo všechno hladce ale to se během následujích 2 hodin razantně změní.

Vykládka a stava sítě

Oproti roku 2017 se vykládání dělo v zadní části kulturáku, ono totiž od minula proběhla rekonstrukce před Krakovem a tímpádem tam už nemohou jezdit auta. Což nebylo na škodu, všechno se to vyházelo u zadního výtahu a v podstatě se vyložilo z výtahu za hlavní stage velkého sálu. Tam kde jsem měl být. Prvním úkolem bylo vzít přenosný rack a dát ho do kukaně. Stačilo připojit UPS do elektřiny, výstup z UPS do PDU v racku. Dále vzít UTPko s internetem a vrazit ho do WAN portu na routeru a všechno spustit což šlo hned na první pokus.

Zaúkolval jsem Spirittise aby vzal jednu 90M špulku UTPčka a protáhnul kabel od kukaně z velkého sálu až do přízemi k vchodu, kde budou potřebovat internet kvůli lístkovému systému. Ochotně se toho ujmul a celou trasu natáhnul asi půl hodiny. Na konci špulky byl Mikrotik hAP AC od Jamise (ten původní s SFP šachtou). Nakonfigurováno to bylo tak že WiFi AP bylo řízené z centrálního routeru co byl v racku a zbytek portů na tomto hAP byl jen switch.

Dále bylo potřeba zprovoznit ještě jedno cAP AC které jsem zamýšlel dát do horní vendor místnosti ale nakonec jsem ho kvůli úspoře času dal jen na parapet kukaně, signálově to nakonec pokrylo relativně dobře, respektive až na plushiecon *derp*.

Stavba streamu

Pohled na stage přes LCD Ursy mini pro

Stream se skládal z kompu a diskového pole co jsem popsal na začátku. První problém se objevil ten že po převozu nechtělo PC nastartovat, byla prostě černá obrazovka a točily se ventilátory. Po vyzkoušení jestli DP kabel není vadný se podařilo komp po několikerém restartu nahodit. Uff první problém vyřešen (ne tak docela ale o tom až později). Následovalo natahání SDI kabeláže a postavení obou rigů, zaúkoloval jsem Dexe aby dal dohromady Ursu což udělal úplně v brilantně jelikož s BMD kamerami už nějakou praxi měl. Ono celkově to bylo poměrně jednoduché, stačilo nasadit objektiv a vzít base plate a dát ho na tripod. Hmm dát ho na tripod, zapomněl jsem se zmínit že jsem požádal Dragona aby mi půjčil svůj stativ. Podle informací měl únést prý 5 Kg ale když jsem viděl že to obyčejný Hama bláto tak bylo jasné že Ursa musí jít na můj VariZoom tripod, který je přeci jen trochu víc robustnější.Nemám moc důvěru dávat tělo kamery za 130 000 kč na tripod za pár tisíc byť honosící se parametrem že unese 5 Kg.

Musím nicméně pochválit podruhé Dexe protože prokázal hezký umí lepit věci dohromady když stavěl rig s GH5 pro snímání z přední stage. Podařilo se mu nalepit na rig Fotga DP 500 III mojí GH5, 7″ LCD, HDMI splitter a převodník BMD HDMI > SDI a V-Lock mount pro baterii.

Pro mě ještě znamenalo natáhnout 30m buben SDI kabelu co jsem měl půčený pro DAC-70 převodník a můj vlastní 40m SDI kabel pro kameru která je v předu. 30 metrů SDI kabelu pro náběr laptopu bylo dost hraniční a nebýt to na stagi pospojované přes HDMI kabely tak by to nestačilo. Poté stačilo jen korekně připojit koaxy do správných konektorů na SDI kartě. Což s pomocí Arctica proběhlo po v pořádku. Všechno zatím jelo jak mělo. Provedl jsem testovací nahrávku na interní SSD disk, opět v pořádku. Poté jsem jen přehodil složku pro nahrávky na externí diskové pole, vypnul jsem testovací režim Twitche a mohlo se začít vysílat. Do zahájení opening ceremony zbývalo zhruba 15 minut a říkal jsem uf stihli jsme to.

Začátek streamu

A bum – přišel první problém, po zahájení streamingu datový tok vyskočil na 1800 kbit (nastaveno to bylo 6 Mbps) a po chvilce spadnul na 0. Proč, jak co, se k***a podělalo? Fail číslo 1. Nevím, zkušel jsem to několikrát zastavit a pustit znovu ale vždy to skončilo na 0 kbit s 100 % ztrátou všech frames. No tak že opening ceremony neodstreamujeme holt se pojede na lokální nahrávku. Mezi tím jsem sháněl možnost jak to vyřešit, vyzkoušeli jsme i simku s neomezeným internetem od Toma0147 ale dělala to samé jako místní připojení. Nakonec nás zachránil Rainbowderpy, který nám půjčil svůj tether telefon s neomezeným internetem a přes něj to jelo jako z praku. Mezi tím jsem se ještě rozhodnul zmenšit rozlišení na 1280×720 a datový tok na 1500 Kbit. V rychlosti jsem to změnil i canvas output – což znamenalo že celá nahrávka Czequestrie byla downscalována do FullHD místo aby zůstala v UHD (3840x2160px). Tenhle derp jsem zjistil až doma po Czequestrii … meeeeeh, fail číslo 2.

Něco se posralo

Po nahození streamu jsem si nezkontroloval jak mám nastavený zvuk a první půl den se po přeswitchnutí na přední kameru bral z ní také zvuk. Z těch mikrofonů co jsou na GH5 integrované vedle EVF tak že rip lidi co byli ve streamu. Když byl switcher na Urse tak všechno znělo a jelo jak mělo, poté co sem přepnul na GH5 v předu tak zvuk byl vyloženě odporný, fail číslo 3.

Došlo mi to a odpoledne už všechno bylo nastaveno na AUX vstup do všech scén a AUX vystup byl napájen z SDI vstupu Ursy. Jak jsem záhy po Czequestrii zjistil tak taky nebylo nejlepší řešení protože z nějakého důvodu se ozývalo ve zvuku lupání a dokonce si na to v neděli pár lidí stěžovalo v chatu Twitche, malý fail 4.

Menšímu fail číslo 5 by se dal považovat nastavení DAC-70 převodníku pro náběr toho co šlo na plátno, byl nastaven na 1080i50 (prokládáné video). Problém byl že v důsledku toho při první přednášce Ashes of Equestria docházelo k velmi známému “linkování” obrazu tohoto zdroje. Po jejich přednášce jsem jen přepinoval převodík aby po koaxu posílal progresivní video 1080p29.97 místo prokládaného 1080i50.

Den 2: ustálení

Jak byl první den hektický tak jsem byl nucen Czequestrii opustit dříve, už na začátku sobotní party protože bych únavou zřejmě nedojel domů být tam ještě další 3 hodiny. Koncert jsem nenahrával (což byla chyba). Moje předčasné opuštění Czequestrie mělo ten bonus že v neděli jsem byl dostatečně vyspalý a opětovná stavba streamu v sobotu v 9 už nebyl problém. Stačilo jen vytahtat všechny věci a znovu vše zapojit. Z předchozího dne se bezproblémů rozeběhl znovu prostřednictvím půjčeného tether telefonu, nyní už jelo všechno jak mělo. Dopoledne jsem celý streaming přenechal v režii Dexe a Spirittise a poprvé za víkend jsem si došel na normální oběd v OC Krakov. Odpoledne program již probíhal v pořádku prakticky až do konce až na malou drobnost …

Další a celkem velký fail číslo 6. bylo zjištění že horko opravdu nesvědčí žádné elektronice a ani mé GH5, která se průběhu zhruba 4x zasekla. Stačílo vypnout či vytáhnout baterii a znovu zapojit pak se to probralo. Z odezvy z večerní párty (sobota 20h) ke konci z horka dokonce selhala audiotechnika úplným výpadkem. Horko v hlavní místnosti byl opravdu mega velké. Co se ovšem z horka stalo výstupu bylo to že začal ujíždět obraz oproti druhé kameře. V nedělní aukci na konci to byla přední GH5 pozadu až o 1 vteřinu oproti Urse co byla na stativu u mě. Problém byl jednak v hřející se GH5 a také v převodníku BMD 6G HDMI>SDI. Taky se hřál jako prase. Obojí způsobilo tohle rozhození.

Aftershock: Zpracování nahrávek

Je zhruba 3 týdny po Czequestrii a já začínám s editací nahrávek. Mám všechno na jedné hromadě, oproti dřívějšku edituju na stanici ze které se streamovalo. Co je jiné je že nahrávky tahám ze sítě z NASky protože jejich celkový surový objem je přes 1,6 TB. První krok který jsem musel provést je převést nahrávku streamu z .MKV souborů do .MP4 což lze provést přímo v OBS. Co jsem nečekal že to bude tak brutálně dlouho trvat, celý převod trval zhruba 10h. Musel jsem při tom mít zapnuté diskové pole. Přes den to nebyl problém když jsem nebyl doma ale docela mi to začalo vadit ve chvíli kdy jsem doma byl. Ten hluk leze na nervy.

Převod dokončen a já zjišťuju že import souboru o velikosti 900 GB v kodeku h264 s plnou kvalitou 4:4:4 způsobuje pád NLE editoru. Hmm co s tím? Z minulosti jsem si vyzkoušel workflow přes DNxHR/DNxHD při vstupu a výstupu 4:2:2 což fungovalo celkem dobře. Nu tedy čeká mě transcode do DNxHD jelikož zdroje jsou FullHD. Použil jsem k tomu FFMPEG a proběhlo to OK a dokonce z celkové velikosti 1,5TB videa se stalo rázem necelý 1 TB díky subsamplované chromě z 4:4:4 na 4:2:2. Po importu již NLE editor nepadal, bod pro mě. Příště bych mohl rovnou nahrávat do DNxHD/DNxHR kodeku přímo v OBS, nemusel bych se patlat s převodem.

Dostal jsem taky zvukovou stopu od zvukařů hurá! Tak mohu nahradit praskající zvuk co šel z Ursy. Zjišťuju že nahrávky jsou udělany multi-trackem pomocí DAW SW Ardour. Co je k ničemu že nelze nijak normálně pracovat jednotlivými stopami jako celek, všechny stopy jsou rozsekány na 2 GB soubory které jdou po sobě a navazují. Ardour v mém případě měl ve složce projektu:

sobota\interchange\sobota\audiofiles

A vní byla hromada WAVek tímto stylem:

Audio 2-1.wav
Audio 2-2.wav
Audio 2-3.wav
Audio 2-4.wav
Audio 2-5.wav
Audio 3-1.wav
Audio 3-2.wav
Audio 3-3.wav
Audio 3-4.wav
Audio 3-5.wav
....
Audio 10-1.wav
Audio 10-2.wav
Audio 10-3.wav
Audio 10-4.wav
Audio 10-5.wav
Audio 11-1.wav
Audio 11-2.wav
Audio 11-3.wav
Audio 11-4.wav
Audio 11-5.wav

Systém pojmenování Ardouru je že první číslo je kanál , např. soubor “Audio 2-1.wav” označuje kanál číslo 2 a druhé číslo v názvu “Audio 2-1.wav” je pořadí souborů, které na sebe navazují. Stačí tedy vzít všechny soubory kanálu a pospojovat je tak aby šly zasebou podle druhého čísla. Něco jako copy Audio 1-1.wav+Audio 1-2.wav atd… Chvíli hraní s FFMPEGem a bylo hotovo tedy aspoň jsem si to myslel. Poté co jsem se takhle chystal spojit audio z neděle na mě FFMPEG v vyhazoval hlášku že vytvořený soubor je větší než 4GB a že nebude pravděpodobně fungovat. Wut?! Vždyť jsem viděl i větší soubory než 4GB a byly to WAVky. No háček je v tom že jde o limitaci WAV formátu, pokud je nastaven na 32bit float vzorkování což odpovída přibližně 6.6 hodinám nahrávky. Jenže v součtu byly výsledné soubory delší než tento limit.

Co s tím teď? Kruci zase další komplikace! No wikipedie mě nasměrovala že existuje formát RF64 (64bit), který umožňuje v raw kvalitě ukládat nahrávky dlouhé až 3 miliony let. Uff no tak že to všechno převrtět FFMPEGem do RF64 formátu což bylo easy. Příkaz pro to je:

ffmpeg -f concat -safe 0 -i mylist.txt -c copy -rf64 auto output.wav

A vytvoření listu “mylist.txt” pro spojení musí být vnitřně uspořádano takto:

file 'Audio 1-1.wav'
file 'Audio 1-2.wav'
file 'Audio 1-3.wav'
file 'Audio 1-4.wav'
file 'Audio 1-5.wav'

Což se provede ve Windows pomocí cyklu for v CMD:

(for %i in ("Audio 1-*.wav") do @echo file '%i') > mylist.txt

Pospojované soubory vytvoří WAVku, která by měla velikostně +- sedět v součtu tomu co měly původní 32bit float WAV soubory. Mrdníku z Ardouru jsem se tímto elegantně zbavil. Soubory mám pojmenované “A1_complete.wav”, “A2_complete.wav” vždy podle kanálu. NLE editor je bezproblémů všechny naimportoval a jediné co sem musel provést je znovu vyselektovat již hotové audio z opening ceremony a znovu ho syncnout s audiem co je ve videonahrávce.

Sobotní nahrávky byly co se týče synchronizace zvuku a videa v pořádku, až na 2. Nedělní první nahrávaný panel MLP kvízu kde byl zvuk posunuty z nějakého důvodu asi 1 vteřinu.

Editace závěrečené aukce a zakonočovací ceremonie byla část které jsem se nejvíce obával. Měl jsem strach z toho že z důvodu vyšších teplot bude posun zvuku oproti obrazu měnit v průběhu ale nebylo tomu tak. V tomto případě stačilo posunout zvuk o fixní část a vše se srovnalo. Stále moc nechápu kde došlo k tomu že to ujelo, jestli to bylo vinou kamery nebo vinou počítače.

Popisování videí & LTO6

Ugh popisování, je asi nejvíce únavná práce. Jde o popsání videí (ano tu sekci kterou nikdo nečte) včetně všech náležitostí jako kdy a kde se to konalo. Odkazy na související weby, nějaký drobný credits a časový index. Kladem toho je že projdu celý záznam a odhalím pak případné chyby ve videu a audiu. Nevýhodou nadruhou stranu je to že vlastně musím odkoukat všechny videa. Denně většinou dávám tak 1-2 videa podle délky.

Během září jsem z Ebaye objednal páskovou mechaniku protože po Czequestrii mi rapidně ubylo umísta a už nebylo kam odkládat. Z povahy toho že jde především o lineární velké soubory které nemusím mít neustále na nasce jsem se rozhodnul pořídit páskovou mechaniku standardu LTO6 (2.5 TB/páskové médium) jelikož s LTO mechanikami mám zkušenost z práce a po podrobnějším zkoukání jsem zjistil že od LTO5 je možné využít tzv. LTFS což je formát ukládání dat který se chová jako flashdisk. Nicméně o tom později v separátním článku.

Abych to shrnul, Czequestrie 2019 byla pro mě velký očistec spoustu věcí se pokazilo a spoustu věcí bych dneska udělal jinak. Najel jsem na styl “keep it simple” abych do celé věci nezanášel zbytečnou komplexnost. Na záznamy z Czequestrie 2019 se můžete podívat v článku, který je už nějakou dobou vyvěšený v sekci Video a foto.

Štítky , , , , , , , , , , , , , , , , , , , , , , .Záložka pro permanentní odkaz.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *