CVT FI

RSS

Novinky, zajímavosti a změny v provozu počítačů, počítačové sítě, prezentační a další techniky na FI MU. Další informace jsou dostupné v Technických informacích na webu fakulty.

Pro hlášení problémů prosím kontaktujte příslušnou sekci CVT FI.

Informace o aktuálních problémech naleznete na stránce o výpadcích.

Vlastníci blogu: FI:unix@fi, FI:CVT FI
Starší příspěvky
Kategorie
Vlastníci blogu: FI:unix@fi, FI:CVT FI
Právo číst: kdokoliv v Internetu
Právo komentovat: kdokoliv přihlášený v ISu
26. 6.
2025

Časozber búrania déčok

  • RSS
Zajímavé | 19 | 19
Mgr. Tomáš Szaniszlo (CVT FI MU), učo 359894

S istým odstupom vám prinášame časozberné video z demolácie budovy D i popis toho, čo jeho výroba obnášala.

Podobne ako pred vyše desiatimi rokmi sme si ani teraz nechceli nechať ujsť príležitosť získať obrazové materiály pre výrobu časozberného videa z demolácie déčok, ktoré iste mnohým z vás, ktorí ich poznáte už dlhé a dlhé roky, možno znovu pripomenú všelijaké spomienky zo začiatkov na FI.

Pre účely zberu podkladových obrázkov sme postupne nainštalovali tri kamery:

  • na streche rozhrania budov A a C,
  • na streche rozhrania budov A a B,
  • v priestoroch Sfinxu, kde ďakujeme doc. Eve Hladkej za možnosť realizácie a spoluprácu.

Kamery zbierali (a naďalej zbierajú) snímky JPEG zo scenérie stavby, s rozlíšením 1920x1080, a to každú minútu (denne asi 0.8 GB dát na jednu kameru). Pomerne vysoká frekvencia zberu bola užitočná hlavne vo fáze demolácie, kde sa veci dejú často veľmi náhle („sú déčka… a už nie sú déčka.“). Pre porovnanie, za 2012–2014 sme realizovali zber snímok každých 5 minút, a to v rozlíšení 800x264.

Video pokrýva dni 6. 1. až 9. 2. a má šesť minút. Zrýchlenie (hoci ide o 3600x) je relatívne malé a dĺžka videa je i pri 60 FPS pomerne veľká, ale problémom je, že demolácia postupovala často dosť skokovo a vizuálne výrazné zmeny sa udejú bežne i v priebehu jedinej sekundy tohto videa. V zásade tu ešte bola možnosť regulovať toto viac dynamicky, ale to by bolo prácnejšie a zrejme i subjektívnejšie, takže sme zostali pri videu s konštantným zrýchlením.

Technické riešenie zberu snímok, resp. kamier

V prípade dvoch kamier na budove FI ide o celkom štandardnú realizáciu, keďže unix@fi spravuje aj kamery na FI. Navyše bolo len zabezpečenie ukladania snímok cez API kamery, prostredníctvom cronu, vrátane upozornenia v prípade zlyhanie uloženia.

Realizačne o čosi zaujímavejšou je kamera vo Sfinxe, kde bolo nutné riešiť jej externosť voči sieti FI. To sme vyriešili pomocou Raspberry Pi, ktoré je cez Wi-Fi pripojené k lokálnej sieti a cez staticky konfigurovanú drôtovú sieť (vrátane PoE injectora) má pripojenú kameru, z ktorej pravidelne sťahuje snímky. Následne sa tieto snímky raz za hodinu kopírujú k nám na FI a z lokálneho úložiska na RPi sa snímky staršie ako týždeň priebežne premazávajú.

Aby sme mali pre prípad potreby k RPi prístup i vzdialene, RPi udržuje SSH spojenie na FI s reverzným tunelom. Ako dobre odolným riešením sa preukázala byť výroba user systemd unit so zabezpečením štartu po boote systému (závislosť na používateľskom default.target):

    mkdir -p ~/.config/systemd/user

    cat >~/.config/systemd/user/ssh-rev-tunnel.service <<EOF
    [Unit]
    Description=Maintain an SSH connection to FI with a reverse tunnel allowing access to this RPi
    After=network-online.target
    Wants=network-online.target
    [Service]
    # enable keepalive on the connection
    # also make sure it fails if the reverse tunnel fails to establish
    ExecStart=/usr/bin/ssh fi-node -o ServerAliveCountMax=5 -o ServerAliveInterval=60 -N \
        -o ExitOnForwardFailure=yes -R XXX::127.0.0.1:22
    # for resilience, attempt to restart the unit indefinitely
    Restart=always
    RestartSec=60
    [Install]
    WantedBy=default.target
    EOF

    # load the new unit from the filesystem
    systemctl --user daemon-reload

    # enable and start the new unit
    systemctl --user enable --now ssh-rev-tunnel.service

Nie úplne triviálny, ale kľúčový krok, ktorý zabezpečí rezilienciu tohto riešenia nielen v prípade výpadku internetového pripojenia, ale i v prípade výpadku napájania (kamera i RPi po jeho obnove naštartujú automaticky), je umožnenie, aby sa po štarte systému hneď spustil používateľský cieľ default. Inak dôjde k jeho spusteniu (a vytvoreniu prístupového tunela) len po prihlásení sa používateľa k systému:

    loginctl enable-linger $USER

Chvíľu sme zvažovali i autossh, ale veľkej časti vecí okolo systemd by sme sa i tak nevyhli, takže autossh by v tomto kontexte nemal väčší prínos.

Medzi ďalšie praktické opatrenia potom patrí kontrola čerstvosti a veľkosti záznamov (už na infraštruktúre FI), a detekcia funkčnosti reverzného tunela.

Výroba časozberného videa

Čo sa týka výroby časozberného videa, prvotným problémom/rozhodnutím bolo, ktoré všetky snímky do časozberného videa zahrnúť. Demolačné práce prebiehali odhadom medzi 07:00 a 18:00. Do tohto však ešte vstupuje otravnosť v podobe krátkeho trvania dňa v januári, čo je mierne rušivé, no nejaké činnosti sa diali i po zotmení a nechceli sme ich vynechať.

„Surové“ video sme zo snímkov vyrobili pomocou osvedčeného nástroja FFmpeg. Vyrobili sme si najprv súbor s názvami súborov (máme ich uložené ako CAM-NAME/YYYY-mm-dd/HHMM.jpg):

    find CAM-NAME -not -empty -name '*.jpg' -exec sh -c \
        'T=`basename {} .jpg`; test "$T" -ge 0700 -a "$T" -le 1800 && echo file {}' ';' \
        | sort > in.txt

A následne sme z nich nechali vyrobiť video kódované pomocou H.264, kde sme teda navyše vynútili ešte formát pixelov yuv420p namiesto implicitného yuv444, keďže ten Firefox nepodporuje:

    ffmpeg -f concat -r 60 -i in.txt -r 60 -c:v libx264 -pix_fmt yuv420p -crf 26 CAM-NAME.mp4

Nasledovali ešte technickejšie úpravy súvisiace s pridaním riadka s časovou značkou a spájaním videí z viacerých kamier. Vzhľadom na postupné osadenie jednotlivých kamier sme pre túto časť procesu použili interaktívnejšie Kdenlive.

Dosud nečteno2 komentářepermalink
« Novinky z unix@fi za 05/2025 (3. 6. 2025 16:00)

Osobní stránka Bc. Ondřej Hrdlička
Re: Časozber búrania déčok
  • RSS
Zdravím!


Díky moc za video, které pokračuje v tradici časosběrů z rekonstrukce areálu FI. 


Bylo by prosím možné zvlášť zveřejnit i jednotlivá videa v plném FHD rozlišení? (nebo zvýšit rozlišení spojeného videa na 3840x2160 :D)


Předem děkuji.
26. 6. 2025 20:37, Bc. Ondřej Hrdlička (stud FI MU), učo 514205
Osobní stránka Mgr. Tomáš Szaniszlo
Re: Časozber búrania déčok
  • RSS
Pekný deň,

v rámci prípravy vznikla aj 4K verzia, ale nezverejňoval som ju, keďže tá je (i
vzhľadom na FPS 60) o niečo náročnejšia na zdroje a i pomerne väčšia. Plus nie
úplne dokonalá kvalita snímok (zvlášť v horších svetelných podmienkach v noci),
zber obrázkov do JPEGu (tomu sa vyhnúť nedá) s nejakou kompresiou, a ešte
následné prekódovanie do videa si tiež vyberú istú daň. Ale teda videá
jednotlivých kamier vo Full HD majú nejakú pridanú hodnotu, tak som ich
sprístupnil tu:

- https://www.fi.muni.cz/media/2025-d-demolation-timelapse-cam-ab.mp4
- https://www.fi.muni.cz/media/2025-d-demolation-timelapse-cam-ac.mp4
- https://www.fi.muni.cz/media/2025-d-demolation-timelapse-cam-sfinx.mp4
27. 6. 2025 12:14, Mgr. Tomáš Szaniszlo (CVT FI MU), učo 359894