ฉันต้องการส่งต่อฟีดของกล้อง IP ของฉันไปยังเว็บไซต์ ฉันต้องการทำให้เว็บไซต์ของฉันเป็นสาธารณะผ่านเซิร์ฟเวอร์ nginx (บน Ubuntu 20.04)
ก่อนอื่น ฉันใช้ VLC เพื่อสตรีมฟีดกล้อง IP ของฉันอีกครั้ง:
vlc --intf dummy -vvv "rtsp://<user>:<password>@10.0.0.34:554/stream2" --sout "#transcode{vcodec=theo,vb=720,scale=Auto,acodec=none ,ab=128,channels=2,samplerate=44100,scodec=none}:http{mux=ogg,dst=:8081/}" --sout-all --sout-keep --nooverlay --daemon
นั่นหมายความว่าฉันในเครื่องบน LAN ของฉันสามารถทำสิ่งนี้ได้
<html>
<head>/head>
<body>
<video>
<source src="http://10.0.0.63:8080" type="video/mp4">
</video>
</body>
</html>
เอาล่ะ มันใช้งานได้ในเครื่อง แต่ฉันจะกำหนดค่าเซิร์ฟเวอร์ nginx ให้ส่งฟีดได้อย่างไร
นี่คือสิ่งที่ฉันต้องการบรรลุ: https://my.domain.com/camera2 --nginx-เซิร์ฟเวอร์--> http://10.0.0.63:8080
<html>
<head>/head>
<body>
<video>
<source src="https://my.domain.com/camera2" type="video/mp4">
</video>
</body>
</html>
นี่คือสิ่งที่ฉันได้ลองโดยไม่ประสบความสำเร็จ:
http {
proxy_cache_path /var/www/my.domain.com/cache levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
เซิร์ฟเวอร์ {
ฟัง 80;
server_name my.domain.com;
ตำแหน่ง / กล้อง 2 {
proxy_pass http://10.0.0.63:8080;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ 'อัปเกรด';
proxy_set_header โฮสต์ $host;
proxy_cache_bypass $http_upgrade;
}
}
}
nginx.conf
การกำหนดค่า nginx ที่ถูกต้องสำหรับ proxy_pass ไปยังสตรีมวิดีโอ VLC ในเครื่องคืออะไร