Lançamento do ESP-KVM 0.51.0, firmware aberto para IP-KVM, com gravação de tela em microSD.

Foi lançado o firmware ESP-KVM 0.51.2, um firmware aberto que transforma a placa com o microcontrolador ESP32-P4 em um IP-KVM, permitindo acesso ao monitor, teclado e mouse de um computador remoto através do navegador, sem necessidade de instalação de um agente na máquina gerenciada. O código é escrito em linguagem C e é distribuído sob a licença Apache 2.0. A principal mudança do lançamento é a gravação do que acontece na tela do dispositivo para um cartão microSD.

A gravação é ativada por um botão na interface web e é salva na pasta VIDEO como arquivos .ts com vídeo H.264. O dispositivo grava o mesmo fluxo que fornece aos espectadores, portanto, a recodificação não é necessária: na placa Espressif ESP32-P4 Function EV, ao reproduzir vídeo na máquina alvo, a taxa de quadros durante a gravação permaneceu em 21-22 por segundo, sem perdas. O arquivo .ts é reproduzido no VLC e no mpv, e um arquivo interrompido devido à remoção do cartão ou desligamento de energia pode ser aberto até o momento da interrupção. Gravações longas são divididas em arquivos de 10 minutos e são interrompidas após uma hora; ambos os valores são ajustáveis. Um botão separado salva uma captura de tela em formato JPEG na pasta SCREENSHOTS, incluindo durante o uso do codec H.264: a captura utiliza o codificador de JPEG em espera.

Pressionamentos de tecla e cliques do mouse podem ser gravados em um arquivo de legendas .srt ao lado do vídeo — na forma de linhas ‘Typed: root’, ‘Ctrl+Alt+Delete’, ‘Left click (812, 440)’. Por padrão, o texto digitado é substituído por pontos, mas pode ser mantido completamente, se necessário. O layout é retirado das configurações do teclado alvo.

Foi adicionado um modo de gravador de vídeo que funciona de maneira semelhante a um gravador de carro: o dispositivo mantém constantemente os últimos minutos da tela e os salva junto com os segundos subsequentes quando algo acontece — a tela se torna monócroma (característico de uma tela de parada emergencial), uma frase rastreável aparece, o indicador de energia ATX pisca ou o operador pressionou um botão. O vídeo resultante é convertido em MP4 com capítulos para cada evento e, quando as notificações são ativadas, é enviado para o Telegram como um vídeo reproduzível no chat.

O passado pode ser armazenado de duas formas: na memória RAM PSRAM, onde não ocupa nada no cartão até que um evento aconteça, ou no próprio cartão em fragmentos curtos, removendo os dados obsoletos — a segunda forma também funciona em placas com revisão do chip até 3.0, onde após a inicialização do codificador H.264 sobra cerca de 3 MB de PSRAM em comparação com 11 MB nas novas revisões.

Foi adicionado o modo de time-lapse: um quadro é salvo a cada número de segundos definido, a reprodução ocorre a 25 quadros por segundo, portanto, uma hora de trabalho com um intervalo de 10 segundos é apresentada em 14 segundos de vídeo. As gravações e imagens são organizadas em um painel separado da interface, de onde podem ser baixadas, excluídas e reproduzidas sem precisar carregar o arquivo completo: MP4 é aberto pelo player padrão do navegador, e .ts é desmembrado em quadros diretamente no console e decodificado pelo mesmo decodificador H.264 que a imagem ao vivo, com avanço rápido e exibição de legendas. Para avançar rápido do lado do dispositivo, foi implementado suporte a intervalos HTTP.

Foi implementada a busca por texto na tela. Durante a gravação, o dispositivo lê a tela a cada três segundos como um conjunto de caracteres e salva a leitura em um arquivo ao lado do vídeo; no painel de gravações, a busca por frases mostra quando elas estavam na tela e reproduz a gravação a partir desse ponto. Apenas as telas desenhadas pelo gerador de sinais são lidas — BIOS, menu de inicialização, programa de instalação, console.

A gravação, o time-lapse e a captura de tela podem ser ativados a partir dos scripts do dispositivo (“record 300”, “timelapse 60”, “screenshot”) e do Home Assistant, onde há um interruptor e botões para isso. Agora, os relógios do dispositivo são sincronizados via NTP, e o fuso horário é selecionado a partir de uma lista de cidades nas configurações — anteriormente, ele era armazenado em uma seção não visível na interface.

Outras alterações nas versões lançadas após 0.45.0:

  • 0.46. Adicionadas compilações para as placas VIEWE ESP32-P4-Pi e Waveshare ESP32-P4-NANO-WIFI6-DB. O firmware agora é compilado com a otimização -O2, pequenas alocações de memória foram transferidas para PSRAM, e uma tarefa travada agora resulta em reinicialização com salvamento do dump.
  • 0.47. Surgiram scripts (runbooks) — macros que podem esperar pela aparição ou desaparecimento de uma frase na tela de texto e são executados no próprio dispositivo com o navegador fechado; scripts no formato DuckyScript são aceitos. Adicionado um agendador com sintaxe cron e notificações no Telegram (com captura de tela) ou em webhook.
  • 0.48. O cartão microSD e o módulo WiFi funcionaram simultaneamente — anteriormente ambos usavam um único slot SDMMC.
  • 0.49. O cartão microSD nas placas Function EV e Waveshare ESP32-P4-ETH funcionou a uma frequência de barramento de 40 MHz em vez de 4 (leitura em cerca de 9 MB/s, gravação em cerca de 4 MB/s): a alimentação das linhas do slot não estava ativada pelo estabilizador embutido. O download da imagem através da interface web foi acelerado em cerca de 50 vezes, atingindo 3,5 MB/s via Ethernet. Adicionado modo de teclado para BIOS mais antigos — a máquina alvo vê um único dispositivo a uma velocidade de USB 1.1, sem mouse ou unidade. O dispositivo informa se o modo HDMI excede a largura de banda de duas linhas MIPI CSI.
  • 0.49.1. A leitura do dispositivo de armazenamento virtual pela máquina alvo foi acelerada de 5,6 para 9 MB/s graças à leitura do cartão em blocos de 256 KB. A troca de imagem tornou-se visível para a máquina alvo sem necessidade de reconectar o USB.
  • 0.50. O cartão microSD pode ser trocado enquanto o dispositivo está em funcionamento, incluindo removê-lo no meio da cópia: o slot é verificado a cada cinco segundos. Corrigido o atraso no MJPEG, que fazia com que na tela parada o navegador mostrasse o quadro anterior à última tecla pressionada.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster