
我有一個正在運行的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 -