Lanzamiento de ESP-KVM 0.51.0, firmware abierto para IP-KVM, con grabación de pantalla en microSD

Se ha publicado la versión ESP-KVM 0.51.2, un firmware de código abierto que convierte la placa basada en el microcontrolador ESP32-P4 en un IP-KVM con acceso a la pantalla, teclado y ratón de un ordenador remoto a través del navegador, sin necesidad de instalar un agente en la máquina controlada. El código está escrito en lenguaje C y se distribuye bajo la licencia Apache 2.0. El principal cambio en esta versión es la grabación de la actividad en la pantalla del objetivo en una tarjeta microSD del propio dispositivo.

La grabación se activa mediante un botón en la interfaz web y se guarda en el directorio VIDEO como archivos .ts con video H.264. El dispositivo graba el mismo flujo que entrega a los espectadores, por lo que no se requiere recodificación: en la placa Espressif ESP32-P4 Function EV, la frecuencia de cuadros durante la grabación se mantuvo entre 21-22 por segundo sin pérdidas. El archivo .ts se reproduce en VLC y mpv, y si se interrumpe al extraer la tarjeta o desconectar la alimentación, se puede abrir hasta el momento del corte. La grabación larga se divide en archivos de 10 minutos y se detiene tras una hora; ambos valores son configurables. Con un botón separado se guarda una captura de pantalla en formato JPEG en la carpeta SCREENSHOTS, incluso al trabajar con el codec H.264: para la captura se utiliza un codificador JPEG de hardware inactivo.

Las pulsaciones de teclas y clics del ratón se pueden grabar en un archivo de subtítulos .srt junto al video — en forma de líneas como «Typed: root», «Ctrl+Alt+Delete», «Left click (812, 440)». Por defecto, el texto ingresado se reemplaza por puntos, aunque se puede guardar completamente si es necesario. El diseño del teclado se toma de la configuración del teclado objetivo.

Se ha añadido un modo de grabadora de video que funciona de la misma manera que un coche: el dispositivo mantiene constantemente los últimos minutos de pantalla y los guarda junto con los siguientes segundos cuando sucede algo — la pantalla se vuelve uniforme (característico de la pantalla de parada de emergencia), aparece una frase rastreable, se apaga el indicador de alimentación ATX o el operador presiona un botón. El video resultante se convierte en MP4 con capítulos para cada evento, y cuando se activan las notificaciones, se envía a Telegram como video reproducible en el chat.

Se puede almacenar el pasado de dos maneras: en la memoria operativa PSRAM, donde no ocupa nada en la tarjeta hasta que ocurre el evento, o en la propia tarjeta en fragmentos cortos con eliminación de los antiguos. El segundo método funciona incluso en placas con revisiones de chip anteriores a 3.0, donde después de iniciar el codificador H.264 quedan alrededor de 3 MB libres en PSRAM en comparación con 11 MB en las nuevas revisiones.

Se ha introducido el modo de time-lapse: se guarda un fotograma cada cierto número de segundos, la reproducción se realiza a 25 fotogramas por segundo, por lo que una hora de trabajo con un intervalo de 10 segundos se convierte en 14 segundos de video. Las grabaciones y fotos se agrupan en un panel separado de la interfaz, desde el cual se pueden descargar, eliminar y reproducir sin necesidad de cargar el archivo completo: el MP4 se abre con el reproductor predeterminado del navegador, mientras que .ts se descompone en fotogramas en la propia consola y se decodifica con el mismo decodificador H.264 que la imagen en vivo, con avance rápido y presentación de subtítulos. Para el avance rápido en el dispositivo, se ha implementado soporte para rangos HTTP.

Se ha implementado la búsqueda de texto en pantalla. Durante la grabación, el dispositivo lee la pantalla como un conjunto de caracteres cada tres segundos y guarda lo leído en un archivo junto al video; en el panel de grabaciones, la búsqueda por frase muestra cuándo estuvo en pantalla y reproduce la grabación desde ese punto. Solo se leen pantallas dibujadas por el generador de caracteres: BIOS, menú de arranque, programa de instalación, consola.

La grabación, la filmación en modo acelerado y la captura de pantalla pueden iniciarse desde los scripts del dispositivo (‘record 300’, ‘timelapse 60’, ‘screenshot’) y desde Home Assistant, donde hay un interruptor y botones para ello. Los relojes del dispositivo ahora se sincronizan por NTP, y la zona horaria se elige de una lista de ciudades en la configuración; anteriormente se almacenaba en una sección que la interfaz no mostraba.

Otros cambios en las versiones posteriores a la 0.45.0:

  • 0.46. Se han añadido compilaciones para las placas VIEWE ESP32-P4-Pi y Waveshare ESP32-P4-NANO-WIFI6-DB. El firmware ahora se compila con optimización -O2, y las asignaciones de memoria menores se han trasladado a PSRAM, mientras que una tarea colgada ahora provoca un reinicio manteniendo el volcado.
  • 0.47. Se han introducido los escenarios (runbooks): macros que pueden esperar la aparición o desaparición de una frase en la pantalla de texto y se ejecutan en el propio dispositivo con el navegador cerrado; se aceptan scripts en formato DuckyScript. Se ha añadido un programador con sintaxis cron y notificaciones en Telegram (con captura de pantalla) o en webhook.
  • 0.48. La tarjeta microSD y el módulo WiFi funcionaron simultáneamente; anteriormente ambos utilizaban una sola ranura SDMMC.
  • 0.49. La tarjeta microSD en las placas Function EV y Waveshare ESP32-P4-ETH funcionó a una frecuencia de bus de 40 MHz en lugar de 4 (lectura de aproximadamente 9 MB/s, escritura de aproximadamente 4 MB/s): no se suministraba energía a las líneas de la ranura desde el regulador integrado. La carga de la imagen a través de la interfaz web se ha acelerado aproximadamente 50 veces, alcanzando 3,5 MB/s por Ethernet. Se ha añadido un modo de teclado para BIOS antiguos: la máquina objetivo ve un único dispositivo a una velocidad de USB 1.1, sin ratón ni almacenamiento. El dispositivo informa si el modo HDMI supera el ancho de banda de las dos líneas MIPI CSI.
  • 0.49.1. La lectura del almacenamiento virtual por parte de la máquina objetivo se ha acelerado de 5.6 a 9 MB/s gracias a la lectura desde la tarjeta en bloques de 256 KB. El cambio de imagen se ha vuelto visible para la máquina objetivo sin necesidad de reconectar USB.
  • 0.50. Se puede cambiar la tarjeta microSD en el dispositivo en funcionamiento, incluso sacándola en medio de una copia: la ranura se verifica cada cinco segundos. Se ha corregido la latencia en MJPEG, que hacía que en la pantalla fija del navegador se mostrara un fotograma anterior a la última pulsación de tecla.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster