Console
如何將控制台流式傳輸到網路
我有一個正在執行的 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 -