
Tengo un servidor Linux en ejecución y me gustaría transmitir las primeras cuatro consolas (TTY1, TTY2, TTY3, TTY4) donde tengo diferentes colas con mis archivos de registro a la red para poder recibir la transmisión de la forma en que la recibo. una cámara web en mi red.
La razón es que mi dispositivo NVR (grabador de vídeo en red) puede dividir la pantalla en 4 y mostrar 4 archivos de registro o incluso 16 archivos de registro al mismo tiempo.
El NVR admite los siguientes protocolos: N1 y ONVIF
Encontré diferentes soluciones para transmitir un archivo multimedia, pero ninguna para transmitir la consola.
Respuesta1
Esto creará un video de TTY1 y lo canalizará a ffplay (podrías hacer otra cosa con él)
#!/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 -
También puede comprobar cuándo cambia LOGFILE. Cada vez que eso sucede, obtendrá los últimos 25 archivos, los convertirá en una imagen y la enviará a ffmpeg
, que crea un archivo de vídeo matroska y lo escribe en stdout
, donde ffplay
lo recoge y lo reproduce.
Dejé todas las tuberías para que puedas decidir dónde insertar las soluciones que ya tenías para los archivos multimedia.
#!/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 -
Respuesta2
Honestamente, creo que estás trabajando demasiado. Intente buscar algo como tmux
que pueda multiplexar la consola, además de permitir múltiples conexiones a la consola que crea. También puedes dividir las "pantallas" en varias consolas y alternar entre ellas.
Esto es algo a lo que se puede volver a conectar fácilmente desde tantas consolas como tenga acceso, así como desconectarse de la sesión tmux, sin matar ningún proceso.