diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 0e433b840..82fa03db0 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -68,7 +68,7 @@ services: - "${MediaRtp:-10000}:${MediaRtp:-10000}/tcp" # [收流]RTP - "${MediaRtp:-10000}:${MediaRtp:-10000}/udp" # [收流]RTP volumes: - - ./volumes/video:/opt/media/www/record/ + - ./volumes/video:/opt/media/bin/www/record/ - ./logs/media:/opt/media/log/ - ./media/config.ini:/conf/config.ini command: [ @@ -140,8 +140,11 @@ services: depends_on: - polaris-wvp volumes: - - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf + - ./nginx/templates/:/etc/nginx/templates - ./logs/nginx:/var/log/nginx + environment: + # 流链接的IP + Stream_IP: ${Stream_IP} networks: - media-net diff --git a/docker/media/config.ini b/docker/media/config.ini index fd1be353f..cc74281aa 100644 --- a/docker/media/config.ini +++ b/docker/media/config.ini @@ -111,7 +111,7 @@ hls_save_path=./www modify_stamp=2 mp4_as_player=0 mp4_max_second=3600 -mp4_save_path=/opt/media/www +mp4_save_path=/opt/media/bin/www paced_sender_ms=0 rtmp_demand=0 rtsp_demand=0 @@ -151,7 +151,7 @@ directProxy=1 enhanced=0 handshakeSecond=15 keepAliveSecond=15 -port=10935 +port=10001 sslport=0 [rtp] @@ -181,7 +181,7 @@ directProxy=1 handshakeSecond=15 keepAliveSecond=15 lowLatency=0 -port=5540 +port=10002 rtpTransportType=-1 sslport=0 diff --git a/docker/nginx/conf/nginx.conf b/docker/nginx/conf/nginx.conf deleted file mode 100644 index 8b4ab021b..000000000 --- a/docker/nginx/conf/nginx.conf +++ /dev/null @@ -1,78 +0,0 @@ -#user nobody; -worker_processes 1; - -#error_log logs/error.log; -#error_log logs/error.log notice; -#error_log logs/error.log info; - -#pid logs/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include mime.types; - default_type application/octet-stream; - - sendfile on; - #tcp_nopush on; - - #keepalive_timeout 0; - keepalive_timeout 65; - - #gzip on; - - server { - listen 8080; - server_name localhost; - - location / { - root /opt/dist; - index index.html index.htm; - } - location /record_proxy/{ - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://polaris-wvp:18978/; - } - location /api/ { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://polaris-wvp:18978; - } - - # /rtp/ͷ· - location ^~ /rtp/ { - # ZLMediakit - proxy_pass http://polaris-media:80; - - # HTTP - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # WebSocket֧ - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # ʱãʵ - proxy_connect_timeout 60s; - proxy_read_timeout 3600s; - proxy_send_timeout 60s; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - } -} diff --git a/docker/nginx/templates/nginx.conf.template b/docker/nginx/templates/nginx.conf.template new file mode 100644 index 000000000..b224719e2 --- /dev/null +++ b/docker/nginx/templates/nginx.conf.template @@ -0,0 +1,110 @@ +server { + listen 8080; + server_name localhost; + + location / { + root /opt/dist; + index index.html index.htm; + } + location /record_proxy/{ + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://polaris-wvp:18978/; + } + location /api/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://polaris-wvp:18978; + + + # ӻȡԭʼַx.x.x.x + set $original_host ${Stream_IP}; + + # ִַ滻 + # ýԴļ滻ΪNginxԵַ + sub_filter "http://$original_host/index/api/downloadFile" "mediaserver/api/downloadFile"; + sub_filter "http://$original_host:80/index/api/downloadFile" "mediaserver/api/downloadFile"; + sub_filter "https://$original_host/index/api/downloadFile" "mediaserver/api/downloadFile"; + sub_filter "https://$original_host:443/index/api/downloadFile" "mediaserver/api/downloadFile"; + sub_filter "http://$original_host/mp4_record" "mp4_record"; + sub_filter "http://$original_host:80/mp4_record" "mp4_record"; + sub_filter "https://$original_host/mp4_record" "mp4_record"; + sub_filter "https://$original_host:443/mp4_record" "mp4_record"; + + # Ϊoffʾ滻ƥǵһ + sub_filter_once off; + + # ȷӦȷ + sub_filter_types application/json; # ֻJSONӦд + } + + # mediaserver/recordתĿַ + location /mediaserver/api/downloadFile { + # Ŀַ + proxy_pass http://polaris-media:80/index/api/downloadFile; + + # dzõķ + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # ʱãҪ + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + } + + # /rtp/ͷ· + location ^~ /rtp/ { + # ZLMediakit + proxy_pass http://polaris-media:80; + + # HTTP + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # WebSocket֧ + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # ʱãʵ + proxy_connect_timeout 60s; + proxy_read_timeout 3600s; + proxy_send_timeout 60s; + } + + # /rtp/ͷ· + location ^~ /mp4_record/ { + # ZLMediakit + proxy_pass http://polaris-media:80; + + # HTTP + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # WebSocket֧ + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # ʱãʵ + proxy_connect_timeout 60s; + proxy_read_timeout 3600s; + proxy_send_timeout 60s; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } +} diff --git a/docker/wvp/wvp/application-docker.yml b/docker/wvp/wvp/application-docker.yml index 3e1e38785..04eeff8df 100644 --- a/docker/wvp/wvp/application-docker.yml +++ b/docker/wvp/wvp/application-docker.yml @@ -113,7 +113,7 @@ media: # [可选] send-port-range: 50502,50506 - record-path: /opt/media/www/record/ + record-path: /opt/media/bin/www/record/ record-day: 7 record-assist-port: 0 user-settings: