Điểm:0

Cấu hình nginx chính xác để proxy_pass vào luồng video VLC cục bộ là gì?

lá cờ np

Tôi muốn có thể chuyển tiếp nguồn cấp dữ liệu Camera IP của mình tới một trang web. Tôi muốn đặt trang web của mình ở chế độ công khai thông qua máy chủ nginx của mình (trên Ubuntu 20.04).

Trước hết, tôi sử dụng VLC để phát lại nguồn cấp dữ liệu camera IP của mình:

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

Điều đó có nghĩa là tôi cục bộ, trên mạng LAN của mình, có thể làm điều gì đó như thế này

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

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

    </body>
</html>

Được rồi, nó hoạt động cục bộ, nhưng làm cách nào tôi có thể định cấu hình máy chủ nginx của mình để chuyển nguồn cấp dữ liệu?

Đây là những gì tôi muốn đạt được: https://my.domain.com/camera2 --nginx-máy chủ--> http://10.0.0.63:8080

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

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

    </body>
</html>

Đây là những gì tôi đã thử nhưng không thành công:

http {
    proxy_cache_path /var/www/my.domain.com/cache levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
    người phục vụ {
            nghe 80;
            server_name my.domain.com;

            địa điểm /camera2 {
                    proxy_pass http://10.0.0.63:8080;
                    proxy_http_version 1.1;
                    proxy_set_header Nâng cấp $http_upgrade;
                    'nâng cấp' kết nối proxy_set_header;
                    proxy_set_header Máy chủ lưu trữ $host;
                    proxy_cache_bypass $http_upgrade;
            }
    }
}

nginx.conf

Cấu hình nginx chính xác để proxy_pass vào luồng video VLC cục bộ là gì?

Điểm:1
lá cờ gu

Nhiều khả năng bạn chỉ cần viết lại đường dẫn để tránh truy vấn http://10.0.0.63:8080/camera2 nhưng thay vì truy vấn http://10.0.0.63:8080/.

Mặc dù vậy, tôi không biết nhiều về cách VLC phối hợp RTSP với HTTP nên nó có thể là một thứ hoàn toàn khác.

lá cờ np
Trên thực tế, tôi có nhiều máy ảnh, được xử lý bởi các phiên bản VLC khác nhau trên máy chủ Ubuntu của tôi. I E.: http://10.0.0.63:8080/ -camera2; http://10.0.0.63:8081/ -camera3; http://10.0.0.63:8082/ -camera4; (vân vân.) Có lẽ tôi không hiểu bạn, nhưng làm thế nào tôi có thể lấy nguồn cấp dữ liệu từ bên ngoài? Giống như trong https://my.domain.com/camera2 (v.v.)
Ginnungagap avatar
lá cờ gu
Tôi hiểu rằng bạn muốn URL công khai của máy ảnh là `/cameraX`, nhưng cấu hình hiện tại sẽ chuyển tiếp URL đó tới VLC.Hãy thử sử dụng `proxy_pass http://10.0.0.63:8080/;` để loại bỏ phần `/cameraX` khi gửi yêu cầu tới VLC.
lá cờ np
Tôi không chắc mình hiểu ý? :-) Bạn không thể cung cấp cấu hình giả trong câu trả lời của mình sao? Nếu nó hoạt động, tôi sẽ đánh dấu nó là câu trả lời đúng.
lá cờ np
Bây giờ tôi đã hiểu! Dấu `/` đã làm được điều đó! Cám ơn rất nhiều!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.