Я хочу иметь возможность пересылать канал с моей IP-камеры на веб-сайт. Я хочу сделать свой веб-сайт общедоступным через мой сервер nginx (в Ubuntu 20.04).
Во-первых, я использую VLC для повторного стриминга каналов с IP-камер:
vlc --intf dummy -vvv "rtsp://<пользователь>:<пароль>@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 для передачи фида?
Вот чего я хочу добиться: https://мой.домен.com/камера2 --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/cachelevels=1:2keys_zone=STATIC:10m inactive=24h max_size=1g;
сервер {
слушать 80;
имя_сервера my.domain.com;
местоположение / камера2 {
прокси_пасс http://10.0.0.63:8080;
прокси_http_версия 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?