Console

如何將控制台流式傳輸到網路

  • January 13, 2020

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

原因是我的 NVR(網路錄像機)設備可以將螢幕一分為四,同時顯示 4 個日誌文件甚至 16 個日誌文件。

NVR 支持以下協議:N1 和 ONVIF

我找到了流媒體文件的不同解決方案,流控制台沒有。

這將創建一個 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 -

引用自:https://serverfault.com/questions/998753