如何將控制台串流到網絡

如何將控制台串流到網絡

我有一個正在運行的Linux 伺服器,我想將前四個控制台(TTY1,TTY2,TTY3,TTY4)串流傳輸,其中我有不同的尾部與我的日誌文件到網絡,這樣我就可以按照我接收的方式接收流我的網路中的網路攝影機。

原因是我的NVR(網路錄影機)設備可以將螢幕分成4部分並同時顯示4個日誌檔案甚至16個日誌檔案。

NVR 支援以下協定:N1 和 ONVIF

我找到了不同的解決方案來串流文件,但沒有找到用於串流控制台的解決方案。

答案1

這將創建 TTY1 的影片並將其通過管道傳輸到 ffplay(您可以用它做其他事情)

#!/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 -

您也可以檢查 LOGFILE 何時變更。每次發生這種情況時,它都會獲取最後 25 個文件,將它們轉換為圖像並將其提供給ffmpeg,創建一個 matroska 視頻文件並將其寫入stdout,在那裡ffplay拾取並播放它。

我保留了所有管道,以便您可以決定在哪裡插入現有的媒體檔案解決方案。

#!/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 -

答案2

說實話,我覺得你工作太辛苦了。嘗試查看類似tmux可以進行控制台多路復用以及允許與其創建的控制台的多個連接的東西。您也可以將「螢幕」分割為多個控制台,並在它們之間切換。

多路復用範例

您可以輕鬆地從您有權訪問的多個控制台重新連接,以及從 tmux 會話中分離,而無需終止任何進程。

相關內容