Release van ESP-KVM 0.51.0, een open-source IP-KVM-firmware met schermopname naar microSD-kaart.

ESP-KVM 0.51.2, een open-source firmware waarmee een ESP32-P4 microcontrollerboard kan worden omgezet in een IP-gebaseerde KVM met browsergebaseerde toegang tot het scherm, toetsenbord en de muis van een externe computer, zonder dat er een agent op de doelmachine hoeft te worden geïnstalleerd, is uitgebracht. De code is geschreven in C en wordt gedistribueerd onder de Apache 2.0-licentie. De belangrijkste wijziging in deze release is de mogelijkheid om de schermactiviteit van de doelmachine op te slaan op de microSD-kaart van het apparaat.

Opnemen start met een knop in de webinterface en wordt opgeslagen in de map VIDEO als .ts-bestanden met H.264-video. Het apparaat neemt dezelfde stream op die het aan de kijkers levert, dus hercodering is niet nodig: op het Espressif ESP32-P4 Function EV-bord bleef de framesnelheid tijdens de opname constant op 21-22 fps zonder verlies bij het afspelen op de doelcomputer. Het .ts-bestand kan worden afgespeeld in VLC en mpv, en als de opname wordt onderbroken door het verwijderen van de kaart of het uitschakelen van het apparaat, wordt deze automatisch afgespeeld tot het einde. Lange opnames worden opgedeeld in bestanden van 10 minuten en stoppen na een uur; beide waarden zijn instelbaar. Met een aparte knop kan een screenshot in JPEG-formaat worden opgeslagen in de map SCREENSHOTS, zelfs wanneer de H.264-codec is ingeschakeld: de hardwarematige JPEG-encoder wordt gebruikt om de screenshot te maken.

Toetsenbordinvoer en muisklikken kunnen worden opgenomen in een .srt-ondertitelbestand naast de video, als tekenreeksen zoals "Getypt: root", "Ctrl+Alt+Delete" en "Linker muisklik (812, 440)". Standaard wordt getypte tekst vervangen door punten; de volledige tekst kan desgewenst worden opgeslagen. De lay-out wordt overgenomen van de toetsenbordinstellingen van het doelapparaat.

Er is een dashcam-modus toegevoegd, die werkt volgens hetzelfde principe als een dashcam in een auto: het apparaat monitort continu de laatste paar minuten schermtijd en slaat deze op, samen met de daaropvolgende seconden, wanneer er iets gebeurt – het scherm wordt continu verlicht (typisch voor een noodstopscherm), een bewaakte zin verschijnt, de ATX-stroomindicator gaat uit of de gebruiker drukt op een knop. De resulterende video wordt geconverteerd naar MP4 met hoofdstukken voor elke gebeurtenis, en als notificaties zijn ingeschakeld, wordt deze naar Telegram verzonden als een video die in de chat wordt afgespeeld.

Er zijn twee manieren om het verleden op te slaan: in het PSRAM, waar het geen ruimte op de kaart inneemt totdat de gebeurtenis plaatsvindt, of op de kaart zelf in korte fragmenten waarbij verouderde fragmenten worden verwijderd. De tweede methode werkt ook op kaarten met een chiprevisie tot en met 3.0, waar na het starten van de H.264-encoder ongeveer 3 MB vrij PSRAM overblijft, vergeleken met 11 MB op nieuwere revisies.

Er is een timelapse-modus toegevoegd: elke opgegeven aantal seconden wordt één frame opgeslagen en de weergave is met 25 frames per seconde, waardoor een uur aan opnames met intervallen van 10 seconden in 14 seconden video kan worden vastgelegd. Opnames en foto's worden georganiseerd in een apart interfacepaneel, waar ze kunnen worden gedownload, verwijderd en afgespeeld zonder eerst het hele bestand te downloaden. MP4-bestanden worden geopend met de ingebouwde speler van de browser, terwijl .ts-bestanden in de console worden geparseerd in frames en gedecodeerd door dezelfde H.264-decoder als de live video, inclusief terugspoelen en ondertiteling. HTTP-bereikondersteuning is geïmplementeerd voor terugspoelen aan de apparaatzijde.

Tekst zoeken op het scherm is geïmplementeerd. Tijdens het opnemen leest het apparaat elke drie seconden het scherm als een tekenset en slaat de gelezen tekst op in een bestand naast de video. In het opnamepaneel toont een zoekfunctie voor woordgroepen wanneer deze op het scherm verscheen en speelt de opname vanaf dat punt af. Alleen schermen die door de tekengenerator worden gegenereerd, worden gelezen: het BIOS, het opstartmenu, het installatieprogramma en de console.

Opnames, timelapses en screenshots kunnen worden gestart vanuit apparaatscenario's ("neem 300 op", "timelapse 60", "screenshot") en vanuit Home Assistant, dat hiervoor een schakelaar en knoppen heeft. De klok van het apparaat wordt nu gesynchroniseerd via NTP en de tijdzone kan worden geselecteerd uit een lijst met steden in de instellingen – voorheen was deze opgeslagen in een gedeelte dat verborgen was voor de interface.

Andere wijzigingen in releases na 0.45.0:

  • 0.46. Er zijn builds toegevoegd voor de VIEWE ESP32-P4-Pi en Waveshare ESP32-P4-NANO-WIFI6-DB boards. De firmware wordt nu gebouwd met -O2-optimalisatie, kleine geheugentoewijzingen zijn verplaatst naar PSRAM en een vastgelopen taak zorgt nu voor een herstart met een dump.
  • 0.47. Runbooks zijn nu beschikbaar: macro's die kunnen wachten tot een zin op het tekstscherm verschijnt of verdwijnt en die op het apparaat zelf worden uitgevoerd wanneer de browser wordt gesloten. Scripts in DuckyScript-formaat worden nu geaccepteerd. Een planner met cron-syntaxis en meldingen naar Telegram (met schermafbeeldingen) of webhooks zijn toegevoegd.
  • 0.48. De microSD-kaart en de wifi-module werken nu gelijktijdig; voorheen gebruikten ze beide dezelfde SDMMC-sleuf.
  • 0.49. De microSD-kaart op de Function EV- en Waveshare ESP32-P4-ETH-boards werkt nu op een busfrequentie van 40 MHz in plaats van 4 MHz (lezen circa 9 MB/s, schrijven circa 4 MB/s): de lanes van de sleuf werden niet langer gevoed door de geïntegreerde spanningsregelaar. Het laden van afbeeldingen via de webinterface is circa 50 keer sneller geworden, tot 3,5 MB/s via Ethernet. De toetsenbordmodus is toegevoegd voor oudere BIOS-versies: de doelmachine ziet nu één apparaat met USB 1.1-snelheid, exclusief muis of opslagapparaat. Het apparaat meldt nu of de HDMI-modus de bandbreedte van twee MIPI CSI-lanes overschrijdt.
  • 0.49.1. De leessnelheid van de virtuele schijf door de doelcomputer is versneld van 5,6 naar 9 MB/s door de kaart in blokken van 256 KB te lezen. Wijzigingen in de image zijn nu zichtbaar voor de doelcomputer zonder de USB-kabel opnieuw aan te sluiten.
  • 0.50. De microSD-kaart kan worden verwisseld terwijl het apparaat in gebruik is, zelfs als deze tijdens het kopiëren wordt verwijderd: de sleuf wordt elke vijf seconden gecontroleerd. Een vertraging in MJPEG is verholpen die ervoor zorgde dat de browser het frame vóór de laatste toetsaanslag op een stilstaand scherm weergaf.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster