将 proxy_pass 到本地 VLC 视频流的正确 nginx 配置是什么?

将 proxy_pass 到本地 VLC 视频流的正确 nginx 配置是什么?

我希望能够将我的 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 协同工作,所以它可能完全是另一回事。

相关内容