Byla zveřejněna verze ESP-KVM 0.51.2, open-source firmwaru, která přetváří desku s mikrokontrolérem ESP32-P4 na IP-KVM s přístupem k obrazovce, klávesnici a myši vzdáleného počítače přes prohlížeč, bez nutnosti instalace agenta na řízeném stroji. Kód je napsán v jazyce C a je distribuován pod licencí Apache 2.0. Hlavní změnou této verze je možnost nahrávání obrazovky cílového zařízení na microSD kartu samotného zařízení.
Nahrávání se aktivuje tlačítkem v webovém rozhraní a ukládá se do adresáře VIDEO ve formátu .ts s videem H.264. Zařízení zaznamenává ten samý proud, který je distribuován divákům, takže není nutná opětovná kódování: na desce Espressif ESP32-P4 Function EV zůstala při přehrávání videa na cílovém stroji snímková frekvence během nahrávání na úrovni 21-22 snímků za sekundu bez ztrát. Soubor .ts je přehráván v VLC a mpv, a přerušený při vyjmutí karty nebo vypnutí napájení se otevře do okamžiku přerušení. Dlouhá nahrávka se dělí na soubory po 10 minutách a zastavuje se po jedné hodině; obě hodnoty jsou nastavitelné. Samostatným tlačítkem se ukládá snímek obrazovky ve formátu JPEG do složky SCREENSHOTS, včetně během práce kodeku H.264: pro snímek se využívá nečinný hardwarový JPEG enkodér.
Stisknutí kláves a kliknutí myší lze zapisovat do souboru titulků .srt vedle videa — ve formě řádků „Typed: root“, „Ctrl+Alt+Delete“, „Left click (812, 440)“. Ve výchozím nastavení je zadaný text nahrazen tečkami, v případě potřeby je možné ho uložit celý. Rozložení klávesnice se bere z nastavení cílové klávesnice.
Byl přidán režim videorekordéru, který funguje na stejném principu jako automobilový: zařízení neustále uchovává poslední minuty obrazu a ukládá je spolu s následujícími sekundami, kdy se něco stane — obraz se stává jednobarevným (typickým pro obrazovku nouzového zastavení), objevuje se sledovaná fráze, zhasne indikátor napájení ATX nebo operátor stiskne tlačítko. Pořízené video se převádí na MP4 s kapitolami pro každou událost, a při zapnutých oznámeních se odesílá do Telegramu jako přehratelné video v chatu.
Minulost lze uchovávat dvěma způsoby: v PSRAM, kde nezabírá místo na kartě až do události, nebo na samotné kartě v krátkých fragmentech s odstraněním zastaralých — druhý způsob funguje i na deskách s revizí čipu do 3.0, kde po spuštění kódovače H.264 zůstává v PSRAM k dispozici přibližně 3 MB oproti 11 MB na novějších revizích.
Objevil se režim timelapsu: ukládá se jeden snímek každých několik sekund, přehrávání probíhá rychlostí 25 snímků za sekundu, takže hodina práce při intervalu 10 sekund vychází na 14 sekund videa. Záznamy a snímky jsou shromážděny v samostatném panelu rozhraní, odkud je lze stáhnout, smazat a přehrát bez potřeby načítat celý soubor: MP4 se otevírá v standardním přehrávači prohlížeče a .ts se rozkládá na snímky přímo v konzoli a dekóduje stejným dekodérem H.264, který se používá pro živý obraz, s možností převíjení a zobrazování titulků. Pro převíjení na straně zařízení byla implementována podpora HTTP rozsahů.
Realizováno vyhledávání podle textu na obrazovce. Během záznamu zařízení každé tři sekundy snímá obrazovku jako sadu znaků a ukládá přečtené do souboru vedle videa; v panelu záznamů vyhledávání podle fráze ukazuje, kdy byla na obrazovce, a přehraje záznam od tohoto okamžiku. Čtou se pouze obrazovky vykreslené generátorem znaků — BIOS, nabídkou načítání, instalačním programem, konzolí.
Záznam, zrychlené snímání a snímek obrazovky lze spouštět ze skriptů zařízení ("record 300", "timelapse 60", "screenshot") a z Home Assistant, kde je pro to přepínač a tlačítka. Hodiny zařízení se nyní synchronizují pomocí NTP a časové pásmo se vybírá ze seznamu měst v nastavení — dříve bylo uchováváno v sekci, kterou rozhraní nezobrazovalo.
Další změny ve vydáních, která vyšla po 0.45.0:
- 0.46. Přidány sestavy pro desky VIEWE ESP32-P4-Pi a Waveshare ESP32-P4-NANO-WIFI6-DB. Firmware se nyní kompiluje s optimalizací -O2, drobné alokace paměti byly přesunuty do PSRAM a visící úloha nyní vede k restartu se zachováním dumpu.
- 0.47. Objevily se scénáře (runbooky) — makra, která umí čekat na zobrazení nebo zmizení fráze na textovém displeji a provádějí se na samotném zařízení při zavřeném prohlížeči; přijímají se skripty ve formátu DuckyScript. Přidán plánovač se syntaxí cron a notifikace do Telegramu (se snímkem obrazovky) nebo na webhook.
- 0.48. Karta microSD a modul WiFi pracovaly současně — dříve oba používaly jeden slot SDMMC.
- 0.49. Karta microSD na deskách Function EV a Waveshare ESP32-P4-ETH fungovala na frekvenci sběrnice 40 MHz namísto 4 (čtení kolem 9 MB/s, zápis kolem 4 MB/s): napájení vedení slotu od vestavěného stabilizátoru nebylo zapnuto. Nahrávání obrazu přes webové rozhraní bylo urychleno přibližně 50krát, na 3,5 MB/s přes Ethernet. Přidán režim klávesnice pro staré BIOSy — cílový stroj vidí jediné zařízení při rychlosti USB 1.1, bez myši a úložného zařízení. Zařízení informuje, pokud režim HDMI překračuje šířku pásma dvou linek MIPI CSI.
- 0.49.1. Čtení virtuálního úložného zařízení cílovým strojem bylo urychleno z 5,6 na 9 MB/s díky čtení z karty po blocích 256 KB. Změna obrazu je nyní cílovému stroji viditelná bez opětovného připojení USB.
- 0.50. Kartu microSD lze měnit na běžícím zařízení, včetně vyjmutí uprostřed kopírování: slot je kontrolován každých pět sekund. Opraveno zpoždění v MJPEG, kvůli kterému prohlížeč zobrazoval snímek předchozího posledního stisknutí klávesy na statickém displeji.
Zdroj: opennet.ru
