### Install System Dependencies on Windows Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/compile.md Placeholder for Windows environment setup instructions. ```bash 这里不细说了,百度或者谷歌一搜一大把,基本都是下一步下一步,然后配置环境变量。 ``` -------------------------------- ### Start and Stop Playback Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 These are example HTTP GET requests to control stream playback. The `start` action initiates playback, while `stop` terminates it. Ensure the `media.rtp.enable` setting is true in your YML configuration. ```http http://172.18.0.56:18080/api/play/start/61011300491110000001/61011300491320000001 ``` ```http http://172.18.0.56:18080/api/play/stop/61011300491110000001/61011300491320000001 ``` -------------------------------- ### Install dependencies on Ubuntu Source: https://github.com/648540858/wvp-gb28181-pro/wiki/编译运行 Use apt-get to install the required Java, Git, Maven, and Node.js environment. ```shell apt-get install openjdk-11-jre git maven nodejs npm ``` -------------------------------- ### Start WVP-PRO Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/deployment.md Use this command to start the WVP-PRO application in the background on Linux. ```shell nohup java -jar wvp-pro-*.jar & ``` -------------------------------- ### Run the WVP application Source: https://github.com/648540858/wvp-gb28181-pro/wiki/编译运行 Prepare the configuration file and start the application JAR. ```shell mv wvp-GB28181-pro/src/main/resources/application-dev.yml wvp-GB28181-pro/target/application.yml cd wvp-GB28181-pro/target java -jar wvp-pro-*.jar ``` -------------------------------- ### Start WVP-PRO-ASSIST Service Source: https://github.com/648540858/wvp-gb28181-pro/wiki/云端录像功能部署与使用 Run the compiled JAR file with a specified configuration file location. ```shell java -jar wvp-pro-assist-1.0.0-20210601100954.jar --spring.config.location=target/application.yml ``` -------------------------------- ### Install System Dependencies on Ubuntu Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/compile.md Installs necessary development tools including JDK 21, Git, Maven, Node.js, and npm on Ubuntu 18. ```bash apt-get install -y openjdk-21-jdk git maven nodejs npm ``` -------------------------------- ### Clone and Install Project Dependencies Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/web/README-zh.md Clone the repository and install project dependencies using npm. It's recommended to use the specified registry for faster downloads and to avoid potential issues. ```bash git clone https://github.com/PanJiaChen/vue-admin-template.git cd vue-admin-template npm install npm install --registry=https://registry.npm.taobao.org ``` -------------------------------- ### Get System Configuration Information Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Fetch the system's configuration settings. ```bash curl -X GET "http://localhost:18080/api/server/system/configInfo" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Start WVP-PRO Application Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/config.md Command to launch the WVP-PRO service from the target directory after building with Maven. ```shell cd wvp-GB28181-pro/target java -jar wvp-pro-*.jar ``` -------------------------------- ### Start Push Stream API Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Initiates a push stream. Requires the ID of the stream to start. ```bash curl -X GET "http://localhost:18080/api/push/start?id=1" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Start Development Server Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/web/README-zh.md Run the development server to view the application locally. The application will be accessible at http://localhost:9528. ```bash npm run dev ``` -------------------------------- ### GET /api/playback/start/{deviceId}/{channelId} Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Starts the playback of a recorded video stream from a GB28181 device. ```APIDOC ## GET /api/playback/start/{deviceId}/{channelId} ### Description Starts the playback of a recorded video stream from a specific device channel. ### Method GET ### Endpoint /api/playback/start/{deviceId}/{channelId} ### Parameters #### Path Parameters - **deviceId** (string) - Required - The ID of the device. - **channelId** (string) - Required - The ID of the channel. #### Query Parameters - **startTime** (string) - Required - Start time of the recording (format: yyyy-MM-dd HH:mm:ss). - **endTime** (string) - Required - End time of the recording (format: yyyy-MM-dd HH:mm:ss). ### Response #### Success Response (200) - **code** (integer) - Status code. - **msg** (string) - Status message. - **data** (object) - Playback session details. ``` -------------------------------- ### RTSP and RTSPS Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples for requesting video on-demand using RTSP and RTSPS protocols. The yml configuration must have media.rtp.enable=true. ```text "rtsp": "rtsp://172.18.0.61:554/rtp/61011300491110000001_61011300491320000001" ``` ```text "rtsps": "rtsps://172.18.0.61:332/rtp/61011300491110000001_61011300491320000001" ``` -------------------------------- ### Get List of Media Servers Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve a list of all configured media servers. ```bash curl -X GET "http://localhost:18080/api/server/media_server/list" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### RTMP and RTMPS Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples for requesting video on-demand using RTMP and RTMPS protocols. Ensure the yml configuration has media.rtp.enable=true. ```text "rtmp": "rtmp://172.18.0.61:1935/rtp/61011300491110000001_61011300491320000001" ``` ```text "rtmps": "rtmps://172.18.0.61:19350/rtp/61011300491110000001_61011300491320000001" ``` -------------------------------- ### Start ZLM Media Server Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/deployment.md Use this command to start the ZLM media server in detached mode with logging level 3 on Linux. ```shell nohup ./MediaServer -d -m 3 & ``` -------------------------------- ### Get Resource Overview Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Obtain a summary of system resources, including device, channel, push, and proxy counts. ```bash curl -X GET "http://localhost:18080/api/server/resource/info" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### HLS Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples for requesting video on-demand using the HLS protocol, covering standard, secure, and WebSocket connections. Ensure media.rtp.enable=true in your yml configuration. ```text "hls": "http://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001/hls.m3u8" ``` ```text "https_hls": "https://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001/hls.m3u8" ``` ```text "ws_hls": "ws://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001/hls.m3u8" ``` ```text "wss_hls": "wss://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001/hls.m3u8" ``` -------------------------------- ### FMP4 Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples for requesting video on-demand using the FMP4 protocol, including secure and WebSocket variants. The yml configuration must have media.rtp.enable=true. ```text "fmp4": "http://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.live.mp4" ``` ```text "https_fmp4": "https://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.live.mp4" ``` ```text "ws_fmp4": "ws://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.live.mp4" ``` ```text "wss_fmp4": "wss://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.live.mp4" ``` -------------------------------- ### Build static web assets Source: https://github.com/648540858/wvp-gb28181-pro/wiki/编译运行 Install dependencies and build the frontend static files using npm. ```shell cd wvp-GB28181-pro/web_src/ npm --registry=https://registry.npm.taobao.org install npm run build ``` -------------------------------- ### Build Frontend Assets Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/compile.md Installs npm dependencies and builds the production frontend files into the static directory. ```shell cd wvp-GB28181-pro/web/ npm --registry=https://registry.npmmirror.com install npm run build:prod ``` -------------------------------- ### WebRTC Video On-Demand Request Example Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Example of requesting video on-demand using WebRTC via a HTTPS API call. Ensure the yml configuration has media.rtp.enable=true. ```text "rtc": "https://172.18.0.61:443/index/api/webrtc?app=rtp&stream=61011300491110000001_61011300491320000001&type=play" ``` -------------------------------- ### Get List of Online Media Servers Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve a list of currently online media servers. ```bash curl -X GET "http://localhost:18080/api/server/media_server/online/list" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### FLV Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples of how to request video on-demand using the FLV protocol with different transport methods (HTTP, HTTPS, WebSocket, Secure WebSocket). Ensure the yml configuration has media.rtp.enable=true. ```text "flv": "http://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.flv" ``` ```text "https_flv": "https://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.flv" ``` ```text "ws_flv": "ws://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.flv" ``` ```text "wss_flv": "wss://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.flv" ``` -------------------------------- ### Get Server Version Information Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve the current version details of the server, including build date and Git information. ```bash curl -X GET "http://localhost:18080/api/server/version" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Get System Runtime Information Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve information about the current operational status of the system. ```bash curl -X GET "http://localhost:18080/api/server/system/info" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Get Single Media Server Information Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve detailed information for a specific media server using its ID. ```bash curl -X GET "http://localhost:18080/api/server/media_server/one/FQ3TF8yT83wh5Wvz" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Docker Deployment: Full Configuration Source: https://github.com/648540858/wvp-gb28181-pro/wiki/与ZLMediaKit联调 Comprehensive Docker startup command and WVP configuration for all features. ```bash docker run -it -p 6080:80 -p 10443:443 -p 10935:1935 -p 19351:19350 -p 10554:554 -p 10554:554/udp -p 10332:332 -p 10332:332/udp -p 10010:10000 -p 10010:10000/udp -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp panjjo/zlmediakit ``` ```yaml media: ip: 192.168.1.20 stream-ip: hook-ip: http-port: 6080 http-ssl-port: 10443 rtmp-port: 10935 rtmp-ssl-port: 19351 rtp-proxy-port: 10010 rtsp-port: 10554 rtsp-ssl-port: 10332 auto-config: true secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc stream-none-reader-delay-ms: 18000 rtp: enable: true port-range: 30000,30500 ``` -------------------------------- ### Verify Tcpdump Installation Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/skill/tcpdump.md Check if tcpdump is installed on your Linux system by running this command. It will display the version information if the tool is available. ```shell tcpdump --version ``` -------------------------------- ### Preview and Analyze Build Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/web/README-zh.md Preview the production build or analyze the build with static resource analysis. The `--report` flag provides insights into bundle sizes. ```bash npm run preview npm run preview -- --report ``` -------------------------------- ### Build Project for Different Environments Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/web/README-zh.md Build the project for staging or production environments. These commands generate optimized production-ready code. ```bash npm run build:stage npm run build:prod ``` -------------------------------- ### TS Video On-Demand Request Examples Source: https://github.com/648540858/wvp-gb28181-pro/wiki/如何使用固定播放地址与自动点播 Examples for requesting video on-demand using the TS (Transport Stream) protocol, including secure and WebSocket variants. The yml configuration must have media.rtp.enable=true. ```text "ts": "http://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.live.ts" ``` ```text "https_ts": "https://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.live.ts" ``` ```text "ws_ts": "ws://172.18.0.61:6080/rtp/61011300491110000001_61011300491320000001.live.ts" ``` ```text "wss_ts": "wss://172.18.0.61:443/rtp/61011300491110000001_61011300491320000001.live.ts" ``` -------------------------------- ### Compile WVP-PRO-ASSIST Source: https://github.com/648540858/wvp-gb28181-pro/wiki/云端录像功能部署与使用 Build the project using Maven to generate the executable JAR file. ```shell cd wvp-pro-assist mvn package ``` -------------------------------- ### Get Map Configuration Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve the configuration settings for the map feature. ```bash curl -X GET "http://localhost:18080/api/server/map/config" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Clone WVP-PRO-ASSIST Repository Source: https://github.com/648540858/wvp-gb28181-pro/wiki/云端录像功能部署与使用 Download the source code from the Gitee repository. ```shell git clone https://gitee.com/18010473990/wvp-pro-assist.git ``` -------------------------------- ### Get Recording Playback URL Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve the playback URL for a given recording ID. ```bash curl -X GET "http://localhost:18080/api/cloud/record/play/path?recordId=1" \ -H "access-token: YOUR_TOKEN" ``` -------------------------------- ### Clone project source code Source: https://github.com/648540858/wvp-gb28181-pro/wiki/编译运行 Download the project repository from Gitee. ```shell git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git ``` -------------------------------- ### GET /api/front-end/ptz/{deviceId}/{channelId} Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Controls the PTZ (Pan-Tilt-Zoom) movement of a GB28181 device. ```APIDOC ## GET /api/front-end/ptz/{deviceId}/{channelId} ### Description Controls the PTZ movement of a device, including direction, speed, and zoom. ### Method GET ### Endpoint /api/front-end/ptz/{deviceId}/{channelId} ### Parameters #### Path Parameters - **deviceId** (string) - Required - The ID of the device. - **channelId** (string) - Required - The ID of the channel. #### Query Parameters - **command** (string) - Required - PTZ command (left, right, up, down, upleft, upright, downleft, downright, zoomin, zoomout, stop). - **horizonSpeed** (integer) - Optional - Horizontal speed. - **verticalSpeed** (integer) - Optional - Vertical speed. - **zoomSpeed** (integer) - Optional - Zoom speed. ``` -------------------------------- ### Configure Database Connections Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/config.md Configuration blocks for various supported database backends. Choose one based on your environment. ```yaml spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true username: root password: root123 ``` ```yaml spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: org.postgresql.Driver url: jdbc:postgresql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true username: root password: 12345678 pagehelper: helper-dialect: postgresql ``` ```yaml spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.kingbase8.Driver url: jdbc:kingbase8://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=utf8 username: root password: 12345678 pagehelper: helper-dialect: postgresql ``` -------------------------------- ### Configure Business Settings Source: https://github.com/648540858/wvp-gb28181-pro/blob/master/doc/_content/introduction/config.md Define operational policies such as timeouts, auto-play behavior, and recording settings. ```yaml # [根据业务需求配置] user-settings: # 点播/录像回放 等待超时时间,单位:毫秒 play-timeout: 180000 # [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true auto-apply-play: true # 推流直播是否录制 record-push-live: true # 国标是否录制 record-sip: true # 国标点播 按需拉流, true:有人观看拉流,无人观看释放, false:拉起后不自动释放 stream-on-demand: true ``` -------------------------------- ### Get Media Server Load Information Source: https://context7.com/648540858/wvp-gb28181-pro/llms.txt Retrieve information about the current load on media servers. ```bash curl -X GET "http://localhost:18080/api/server/media_server/load" \ -H "access-token: YOUR_TOKEN" ```