diff --git a/.env b/.env index 2945384..66441e6 100644 --- a/.env +++ b/.env @@ -18,7 +18,7 @@ BACKEND_HOST=rtsp-backend BACKEND_PORT=8080 # 前端服务配置 -FRONTEND_PORT=10080 +FRONTEND_PORT=10081 # Python推理服务配置 PYTHON_SERVICE_HOST=rtsp-python-service diff --git a/rtsp-vue/nginx.conf b/rtsp-vue/nginx.conf index 2af7d3b..fff7d25 100644 --- a/rtsp-vue/nginx.conf +++ b/rtsp-vue/nginx.conf @@ -44,6 +44,29 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } + # 视频流代理(HTTP-FLV) + location /live { + proxy_pass http://rtsp-backend:8866/live; + proxy_http_version 1.1; + 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 Connection ""; + proxy_buffering off; + proxy_cache off; + } + + # 视频流代理(HLS) + location /hls { + proxy_pass http://rtsp-backend:8866/hls; + proxy_http_version 1.1; + 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_buffering off; + proxy_cache off; + } + # MinIO使用外部服务,不需要代理 # 错误页面配置 diff --git a/rtsp-vue/src/views/video/device/component/flv.vue b/rtsp-vue/src/views/video/device/component/flv.vue index 0747b85..1b8ae8f 100644 --- a/rtsp-vue/src/views/video/device/component/flv.vue +++ b/rtsp-vue/src/views/video/device/component/flv.vue @@ -68,7 +68,8 @@ onMounted(() => { const getDetails = async (deviceId) => { const res = await getDevice(deviceId); tableData.value = res.data; - playUrl.value = `http://localhost:8866/live?url=${tableData.value.url}`; + // 使用当前访问的域名和端口,通过Nginx代理访问视频流 + playUrl.value = `${window.location.origin}/live?url=${tableData.value.url}`; handlePlay(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/video/DeviceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/video/DeviceController.java index 1892433..e7cc00f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/video/DeviceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/video/DeviceController.java @@ -3,6 +3,7 @@ package com.ruoyi.web.controller.video; import java.util.List; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -33,6 +34,9 @@ import com.ruoyi.common.core.page.TableDataInfo; public class DeviceController extends BaseController { @Autowired private IDeviceService deviceService; + + @Value("${server.port:8080}") + private String serverPort; /** * 查询设备列表