como transmitir um console para a rede

como transmitir um console para a rede

Eu tenho um servidor Linux em execução e gostaria de transmitir os primeiros quatro consoles (TTY1,TTY2,TTY3,TTY4) onde tenho caudas diferentes com meus arquivos de log para a rede para que possa receber o fluxo da maneira que recebo uma webcam na minha rede.

A razão é que meu dispositivo NVR (gravador de vídeo em rede) pode dividir a tela em 4 e exibir 4 arquivos de log ou até 16 arquivos de log ao mesmo tempo.

O NVR suporta os seguintes protocolos: N1 e ONVIF

Encontrei diferentes soluções para transmitir um arquivo de mídia, mas nenhuma para transmitir o console.

Responder1

Isso criará um vídeo de TTY1 e o canalizará para o ffplay (você poderia fazer outra coisa com ele)

#!/bin/bash

(while sleep 1
do
    screendump 1 | anytopnm | pnmtojpeg
done) | ffmpeg -f image2pipe -r 1 -c:v mjpeg -i - -c:v copy -f matroska - | ffplay -

Você também pode verificar quando LOGFILE muda. Cada vez que isso acontecer ele irá pegar os últimos 25 arquivos, convertê-los em uma imagem e alimentá-los ffmpeg, que cria um arquivo de vídeo matroska e grava-o stdout, onde ffplayo pega e reproduz.

Deixei todos os pipes para que você decida onde inserir as soluções que já possui para os arquivos de mídia.

#!/bin/bash

LOGFILE=/tmp/filename    

(while inotifywait -q -e modify $LOGFILE >/dev/null; do
    tail -25 $LOGFILE | anytopnm | pnmtojpeg
done) | ffmpeg -f image2pipe -r 1/8 -c:v mjpeg -i - -c:v copy -f matroska - | ffplay -

Responder2

Honestamente, acho que você está trabalhando demais. Tente ver algo parecido com tmuxo que pode fazer a multiplexação do console, bem como permitir múltiplas conexões com o console que ele cria. Você também pode dividir as “telas” em vários consoles e alternar entre eles.

exemplo tmux

Isso é algo que pode ser facilmente reconectado de quantos consoles você tiver acesso, bem como desconectado da sessão tmux, sem interromper nenhum processo.

informação relacionada