我希望能够将我的 IP 摄像头的 feed 转发到网站。我想通过我的 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
这意味着我可以在本地局域网上执行如下操作
<html>
<head>/head>
<body>
<video>
<source src="http://10.0.0.63:8080" type="video/mp4">
</video>
</body>
</html>
好的,它在本地运行,但是我该如何配置我的 nginx 服务器来传递 feed?
这就是我想要实现的目标: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;
server {
listen 80;
server_name my.domain.com;
location /camera2 {
proxy_pass http://10.0.0.63:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
nginx.conf
将 proxy_pass 到本地 VLC 视频流的正确 nginx 配置是什么?
答案1
最有可能的是,您只需要重写路径以避免查询http://10.0.0.63:8080/camera2
,而是查询http://10.0.0.63:8080/
。
不过,我不太了解 VLC 如何将 RTSP 与 HTTP 协同工作,所以它可能完全是另一回事。