將ipcam的rtsp訊號變成webcam應用,測試了許多方案,這個方式目前最滿意
但是需要有個中間的伺服器將rtsp轉成mjpeg
首先將會議的電腦安裝IP Camera Adapter目前版本4.9
https://ip-webcam.appspot.com/
IPCamAdapter_x32.msi
IPCamAdapter_x64.exe
這個Adapter軟體只支援mpeg,所以需要裝lighttpd+ffmpeg做轉檔串流
原參考網址
https://stevethemoose.blogspot.com/2021/07/converting-rtsp-to-mjpeg-stream-on.html
#安裝程式
apt-get install lighttpd
apt-get install ffmpeg
#開啟cgi-bin功能
cd /etc/lighttpd/conf-enabled/
ln -s ../conf-available/10-cgi.con
#增加串流功能
重點:server.stream-response-body = 2
server.modules += ( "mod_cgi" )
$HTTP["url"] =~ "^/cgi-bin/" {
server.stream-response-body = 2
cgi.assign = ( "" => "" )
alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin/" )
}
systemctl restart lighttpd
mkdir /var/www/cgi-bin
vi webcamstream
chmod 777 webcamstream
#連續串流影片
#!/bin/bash
echo "Content-Type: multipart/x-mixed-replace;boundary=ffmpeg"
echo "Cache-Control: no-cache"
echo ""
ffmpeg -rtsp_transport tcp -i "rtsp://admin:PRTESE@192.168.31.216:554" -q:v 5 -s 320x240 -f mpjpeg -an -
-rtsp_transport tcp 需放在輸入前,避免破圖
-q:v 參數1的時候畫質最好,但是延遲很大,可以測試調整
-s 輸出畫質尺寸
-an 關閉音效
#測試
http://ip/cgi-bin/webcamstream
#debug
cd /var/www/cgi-bin
./webcamframe | hd | head
Sample output of it working correctly is shown below. The conversion and pipe errors are OK, they are just due to head stopping the output early.

#取單張圖片模式
#!/bin/bash
echo "Content-Type: image/jpeg"
echo "Cache-Control: no-cache"
echo ""
ffmpeg -i "rtsp://admin:PRTESE@192.168.31.216:554" -vframes 1 -f image2pipe -an -
tapo c210
rtsp://josh123:josh123@192.168.31.167/stream1
rtsp://josh123:josh123@192.168.31.167/stream2
EZVIZ C6CN
rtsp://admin:PRTESE@192.168.31.203