Puncte:0

Care este configurația corectă nginx pentru a proxy_pass la un flux video VLC local?

drapel np

Vreau să pot redirecționa fluxul camerei mele IP către un site web. Vreau să fac site-ul meu public prin serverul meu nginx (pe Ubuntu 20.04).

În primul rând, folosesc VLC pentru a retransmite feedul camerelor IP:

vlc --intf dummy -vvv "rtsp://<utilizator>:<parolă>@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

Asta înseamnă că la nivel local, pe LAN-ul meu, pot face așa ceva

<html>
    <head>/head>
    <body>

        <video>
          <source src="http://10.0.0.63:8080" type="video/mp4">
        </video>

    </body>
</html>

În regulă, funcționează local, dar cum îmi pot configura serverul nginx pentru a trece feed-ul?

Aceasta este ceea ce vreau să obțin: https://my.domain.com/camera2 --nginx-server--> http://10.0.0.63:8080

<html>
    <head>/head>
    <body>

        <video>
          <source src="https://my.domain.com/camera2" type="video/mp4">
        </video>

    </body>
</html>

Iată ce am încercat fără succes:

http {
    proxy_cache_path /var/www/my.domain.com/cache levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
    Server {
            asculta 80;
            nume_server my.domain.com;

            locație /camera2 {
                    proxy_pass http://10.0.0.63:8080;
                    proxy_http_versiunea 1.1;
                    proxy_set_header Actualizare $http_upgrade;
                    proxy_set_header Conexiune „upgrade”;
                    proxy_set_header Gazdă $gazdă;
                    proxy_cache_bypass $http_upgrade;
            }
    }
}

nginx.conf

Care este configurația corectă nginx pentru a proxy_pass la un flux video VLC local?

Puncte:1
drapel gu

Cel mai probabil, trebuie doar să rescrieți calea pentru a evita interogarea http://10.0.0.63:8080/camera2 ci în schimb interogați http://10.0.0.63:8080/.

Nu știu prea multe despre cum VLC concertează RTSP la HTTP, așa că ar putea fi cu totul altceva.

drapel np
De fapt, am multe camere, gestionate de diferite instanțe VLC pe serverul meu Ubuntu. adica: http://10.0.0.63:8080/ -camera2; http://10.0.0.63:8081/ -camera3; http://10.0.0.63:8082/ -camera4; (etc.) Poate nu te înțeleg, dar cum pot obține hrana din afară? Ca în https://my.domain.com/camera2 (etc.)
Ginnungagap avatar
drapel gu
Înțeleg că doriți ca adresa URL publică pentru o cameră să fie `/cameraX`, dar configurația actuală trimite acea adresă URL către VLC.Încercați să utilizați `proxy_pass http://10.0.0.63:8080/;` în schimb pentru a elimina partea `/cameraX` când trimiteți cererea către VLC.
drapel np
Nu sunt sigur că înțeleg ideea? :-) Nu poți furniza o configurație falsă în răspunsul tău? Dacă funcționează, îl voi marca drept răspunsul corect.
drapel np
Acum am inteles! Ultimul `/` a făcut șmecheria! Mulțumesc foarte mult!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.