网站关键词分析,外贸购物网站建设,网站开发一般用什么技术,joomla做类似赶集网的网站文章目录一、DEV_WVP流媒体开发手册1、搭建流媒体服务clone代码#xff1a;安装编译器cmake构建和编译项目修改配置文件启动项目2、搭建GB28181协议视频平台安装 jdk, nodejs, maven, git安装redis安装postgresqlclone代码编译前端代码编译后端代码配置文件修改3、设备接入测测…
文章目录一、DEV_WVP流媒体开发手册1、搭建流媒体服务clone代码安装编译器cmake构建和编译项目修改配置文件启动项目2、搭建GB28181协议视频平台安装 jdk, nodejs, maven, git安装redis安装postgresqlclone代码编译前端代码编译后端代码配置文件修改3、设备接入测测试EasyGBDOBS推流4、附录sql一、DEV_WVP流媒体开发手册 
1、搭建流媒体服务 
clone代码 
请不要使用github 下载zip包的方式下载源码务必使用git克隆ZLMediaKit的代码因为ZLMediaKit依赖于第三方代码zip包不会下载第三方依赖源码你可以这样操作、 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
git submodule update --init #务必执行安装编译器 
sudo apt update
sudo apt install -y build-essential说明 
build-essential 包含了 gcc、g、make 等常用开发工具适用于大多数编译需求。不需要单独安装 gcc 和 g除非你有特殊版本要求。 
cmake 
ZLMediaKit采用cmake来构建项目通过cmake才能生成Makefile(或Xcode/VS工程)所以必须先安装cmake才能完成后续步骤。 
sudo apt update
sudo apt install -y cmake构建和编译项目 
cd ZLMediaKit
mkdir build
cd build
cmake ..
make修改配置文件 
config.ini 
cd ZLMediaKit/release/linux/Debug配置文件相关修改 
secret mediaServerId 端口修改 启动项目 
cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
nohup ./MediaServer -d -m 3 启动成功如下 2、搭建GB28181协议视频平台 
WVP-GB28181-PRO 
安装 jdk, nodejs, maven, git 
sudo apt update
sudo apt install -y openjdk-8-jdk git maven nodejs npm项目需要nodejs版本≥16 
安装redis 
使用 Docker CLI 
docker pull redis:6.2启动 Redis 容器 
docker run -d \--name redis \--restart unless-stopped \-p 6379:6379 \redis:6.2参数说明 
参数说明-d后台运行--name redis容器名称为 redis--restart unless-stopped开机自动启动除非手动停止-p 6379:6379将主机的 6379 端口映射到容器内 Redis 默认端口redis:6.2指定镜像和版本安装postgresql 
使用 Docker CLI 
docker pull postgis/postgis:14-3.3启动 postgresql 容器 
ocker run --name postgres -d \--restart unless-stopped \-p 55432:5432 \-v ./pg/data:/var/lib/postgresql/data \-v ./backup:/backup \-e POSTGRES_PASSWORDpostgres \-e POSTGRES_USERpostgres \-e POSTGRES_DBpostgres \postgis/postgis:14-3.3 
参数说明 
参数说明--name postgres设置容器名称为 postgres方便管理如 docker stop postgres-d以后台方式运行容器--restart unless-stopped开机自动启动容器除非你手动停止过它-p 55432:5432将主机的 55432 端口映射到容器的 PostgreSQL 默认端口 5432避免和主机已有 PostgreSQL 冲突-v ./pg/data:/var/lib/postgresql/data将 PostgreSQL 数据文件映射到本地 ./pg/data实现数据持久化-v ./backup:/backup将容器中的 /backup 目录映射到主机的 ./backup用于备份数据库-e POSTGRES_PASSWORDpostgres设置 PostgreSQL 的 postgres 用户密码为 postgres-e POSTGRES_USERpostgres设置初始化用户名为 postgres-e POSTGRES_DBpostgres设置初始化数据库名称为 postgrespostgis/postgis:14-3.3使用带有 PostGIS 扩展的 PostgreSQL 14 镜像PostGIS 版本为 3.3
创建数据库名为wvp273 
插入数据SQL 
clone代码 
git clone https://github.com/648540858/wvp-GB28181-pro.git如果无法拉取镜像请手动下载 ZIP 包并放置到指定目录下。 
编译前端代码 
cd wvp-GB28181-pro/web/
npm --registryhttps://registry.npmmirror.com install
npm run build:prod项目需要nodejs版本≥16 
编译后端代码 
cd wvp-GB28181-pro
mvn package如需使用war部署 
# 如需使用war部署
cd wvp-GB28181-pro
mvn package -P war配置文件修改 
cd wvp-GB28181-pro/target
# 移动配置文件到当前 target目录下
mv ../src/main/resources/application-dev.yml application.yml 编辑application.yml 启动 
nohup java -jar wvp-pro-*.jar 3、设备接入测测试 
默认使用以下地址访问 WVP 管理界面 
http://192.168.0.44:18080/默认账号admin 默认密码admin EasyGBD 
通过 EasyGBD 工具可快速模拟或注册 GB28181 设备。 成功录入设备示例 OBS推流 
推流到 ZLMediaKitZLM时请务必设置正确的应用名和鉴权信息否则视频流将无法播放。 
OBS 推流地址 服务器Server rtmp://192.168.0.44:1935/live串流密钥Stream Key live?sign41db35390ddad33f83944f44b8b75ded这样 ZLM 会注册为 
应用名live流名live 
当前的 sign 是从 wvp_user 表中 push_key 字段的值生成的方式是对该值进行 MD5 加密结果是41db35390ddad33f83944f44b8b75ded。 推流成功后你可以在管理界面中查看流状态 4、附录 
sql 
/*建表*/
drop table IF EXISTS wvp_device;
create table IF NOT EXISTS wvp_device
(id                                  serial primary key,device_id                           character varying(50) not null,name                                character varying(255),manufacturer                        character varying(255),model                               character varying(255),firmware                            character varying(255),transport                           character varying(50),stream_mode                         character varying(50),on_line                             bool    default false,register_time                       character varying(50),keepalive_time                      character varying(50),ip                                  character varying(50),create_time                         character varying(50),update_time                         character varying(50),port                                integer,expires                             integer,subscribe_cycle_for_catalog         integer DEFAULT 0,subscribe_cycle_for_mobile_position integer DEFAULT 0,mobile_position_submission_interval integer DEFAULT 5,subscribe_cycle_for_alarm           integer DEFAULT 0,host_address                        character varying(50),charset                             character varying(50),ssrc_check                          bool    default false,geo_coord_sys                       character varying(50),media_server_id                     character varying(50) default auto,custom_name                         character varying(255),sdp_ip                              character varying(50),local_ip                            character varying(50),password                            character varying(255),as_message_channel                  bool    default false,heart_beat_interval                 integer,heart_beat_count                    integer,position_capability                 integer,broadcast_push_after_ack            bool    default false,server_id                           character varying(50),constraint uk_device_device unique (device_id)
);drop table IF EXISTS wvp_device_alarm;
create table IF NOT EXISTS wvp_device_alarm
(id                serial primary key,device_id         character varying(50) not null,channel_id        character varying(50) not null,alarm_priority    character varying(50),alarm_method      character varying(50),alarm_time        character varying(50),alarm_description character varying(255),longitude         double precision,latitude          double precision,alarm_type        character varying(50),create_time       character varying(50) not null
);drop table IF EXISTS wvp_device_mobile_position;
create table IF NOT EXISTS wvp_device_mobile_position
(id              serial primary key,device_id       character varying(50) not null,channel_id      character varying(50) not null,device_name     character varying(255),time            character varying(50),longitude       double precision,latitude        double precision,altitude        double precision,speed           double precision,direction       double precision,report_source   character varying(50),create_time     character varying(50)
);drop table IF EXISTS wvp_device_channel;
create table IF NOT EXISTS wvp_device_channel
(id                           serial primary key,device_id                    character varying(50),name                         character varying(255),manufacturer                 character varying(50),model                        character varying(50),owner                        character varying(50),civil_code                   character varying(50),block                        character varying(50),address                      character varying(50),parental                     integer,parent_id                    character varying(50),safety_way                   integer,register_way                 integer,cert_num                     character varying(50),certifiable                  integer,err_code                     integer,end_time                     character varying(50),secrecy                      integer,ip_address                   character varying(50),port                         integer,password                     character varying(255),status                       character varying(50),longitude                    double precision,latitude                     double precision,ptz_type                     integer,position_type                integer,room_type                    integer,use_type                     integer,supply_light_type            integer,direction_type               integer,resolution                   character varying(255),business_group_id            character varying(255),download_speed               character varying(255),svc_space_support_mod        integer,svc_time_support_mode        integer,create_time                  character varying(50) not null,update_time                  character varying(50) not null,sub_count                    integer,stream_id                    character varying(255),has_audio                    bool default false,gps_time                     character varying(50),stream_identification        character varying(50),channel_type                 int  default 0        not null,gb_device_id                 character varying(50),gb_name                      character varying(255),gb_manufacturer              character varying(255),gb_model                     character varying(255),gb_owner                     character varying(255),gb_civil_code                character varying(255),gb_block                     character varying(255),gb_address                   character varying(255),gb_parental                  integer,gb_parent_id                 character varying(255),gb_safety_way                integer,gb_register_way              integer,gb_cert_num                  character varying(50),gb_certifiable               integer,gb_err_code                  integer,gb_end_time                  character varying(50),gb_secrecy                   integer,gb_ip_address                character varying(50),gb_port                      integer,gb_password                  character varying(50),gb_status                    character varying(50),gb_longitude                 double precision,gb_latitude                  double precision,gb_business_group_id         character varying(50),gb_ptz_type                  integer,gb_position_type             integer,gb_room_type                 integer,gb_use_type                  integer,gb_supply_light_type         integer,gb_direction_type            integer,gb_resolution                character varying(255),gb_download_speed            character varying(255),gb_svc_space_support_mod     integer,gb_svc_time_support_mode     integer,record_plan_id               integer,data_type                    integer not null,data_device_id               integer not null,gps_speed                    double precision,gps_altitude                 double precision,gps_direction                double precision,constraint uk_wvp_unique_channel unique (gb_device_id)
);CREATE INDEX idx_data_type ON wvp_device_channel (data_type);
CREATE INDEX idx_data_device_id ON wvp_device_channel (data_device_id);drop table IF EXISTS wvp_media_server;
create table IF NOT EXISTS wvp_media_server
(id                  character varying(255) primary key,ip                  character varying(50),hook_ip             character varying(50),sdp_ip              character varying(50),stream_ip           character varying(50),http_port           integer,http_ssl_port       integer,rtmp_port           integer,rtmp_ssl_port       integer,rtp_proxy_port      integer,rtsp_port           integer,rtsp_ssl_port       integer,flv_port            integer,flv_ssl_port        integer,ws_flv_port         integer,ws_flv_ssl_port     integer,auto_config         bool                  default false,secret              character varying(50),type                character varying(50) default zlm,rtp_enable          bool                  default false,rtp_port_range      character varying(50),send_rtp_port_range character varying(50),record_assist_port  integer,default_server      bool                  default false,create_time         character varying(50),update_time         character varying(50),hook_alive_interval integer,record_path         character varying(255),record_day          integer               default 7,transcode_suffix    character varying(255),server_id           character varying(50),constraint uk_media_server_unique_ip_http_port unique (ip, http_port, server_id)
);drop table IF EXISTS wvp_platform;
create table IF NOT EXISTS wvp_platform
(id                    serial primary key,enable                bool default false,name                  character varying(255),server_gb_id          character varying(50),server_gb_domain      character varying(50),server_ip             character varying(50),server_port           integer,device_gb_id          character varying(50),device_ip             character varying(50),device_port           character varying(50),username              character varying(255),password              character varying(50),expires               character varying(50),keep_timeout          character varying(50),transport             character varying(50),civil_code            character varying(50),manufacturer          character varying(255),model                 character varying(255),address               character varying(255),character_set         character varying(50),ptz                   bool default false,rtcp                  bool default false,status                bool default false,catalog_group         integer,register_way          integer,secrecy               integer,create_time           character varying(50),update_time           character varying(50),as_message_channel    bool default false,catalog_with_platform integer default 1,catalog_with_group    integer default 1,catalog_with_region   integer default 1,auto_push_channel     bool default true,send_stream_ip        character varying(50),server_id             character varying(50),constraint uk_platform_unique_server_gb_id unique (server_gb_id)
);drop table IF EXISTS wvp_platform_channel;
create table IF NOT EXISTS wvp_platform_channel
(id                           serial primary key,platform_id                  integer,device_channel_id            integer,custom_device_id             character varying(50),custom_name                  character varying(255),custom_manufacturer          character varying(50),custom_model                 character varying(50),custom_owner                 character varying(50),custom_civil_code            character varying(50),custom_block                 character varying(50),custom_address               character varying(50),custom_parental              integer,custom_parent_id             character varying(50),custom_safety_way            integer,custom_register_way          integer,custom_cert_num              character varying(50),custom_certifiable           integer,custom_err_code              integer,custom_end_time              character varying(50),custom_secrecy               integer,custom_ip_address            character varying(50),custom_port                  integer,custom_password              character varying(255),custom_status                character varying(50),custom_longitude             double precision,custom_latitude              double precision,custom_ptz_type              integer,custom_position_type         integer,custom_room_type             integer,custom_use_type              integer,custom_supply_light_type     integer,custom_direction_type        integer,custom_resolution            character varying(255),custom_business_group_id     character varying(255),custom_download_speed        character varying(255),custom_svc_space_support_mod integer,custom_svc_time_support_mode integer,constraint uk_platform_gb_channel_platform_id_catalog_id_device_channel_id unique (platform_id, device_channel_id),constraint uk_platform_gb_channel_device_id unique (custom_device_id)
);drop table IF EXISTS wvp_platform_group;
create table IF NOT EXISTS wvp_platform_group
(id          serial primary key,platform_id integer,group_id    integer,constraint uk_wvp_platform_group_platform_id_group_id unique (platform_id, group_id)
);drop table IF EXISTS wvp_platform_region;
create table IF NOT EXISTS wvp_platform_region
(id          serial primary key,platform_id integer,region_id   integer,constraint uk_wvp_platform_region_platform_id_group_id unique (platform_id, region_id)
);drop table IF EXISTS wvp_stream_proxy;
create table IF NOT EXISTS wvp_stream_proxy
(id                         serial primary key,type                       character varying(50),app                        character varying(255),stream                     character varying(255),src_url                    character varying(255),timeout                    integer,ffmpeg_cmd_key             character varying(255),rtsp_type                  character varying(50),media_server_id            character varying(50),enable_audio               bool default false,enable_mp4                 bool default false,pulling                    bool default false,enable                     bool default false,enable_remove_none_reader  bool default false,create_time                character varying(50),name                       character varying(255),update_time                character varying(50),stream_key                 character varying(255),server_id                  character varying(50),enable_disable_none_reader bool default false,relates_media_server_id    character varying(50),constraint uk_stream_proxy_app_stream unique (app, stream)
);drop table IF EXISTS wvp_stream_push;
create table IF NOT EXISTS wvp_stream_push
(id                 serial primary key,app                character varying(255),stream             character varying(255),create_time        character varying(50),media_server_id    character varying(50),server_id          character varying(50),push_time          character varying(50),status             bool default false,update_time        character varying(50),pushing            bool default false,self               bool default false,start_offline_push bool default true,constraint uk_stream_push_app_stream unique (app, stream)
);drop table IF EXISTS wvp_cloud_record;
create table IF NOT EXISTS wvp_cloud_record
(id              serial primary key,app             character varying(255),stream          character varying(255),call_id         character varying(255),start_time      int8,end_time        int8,media_server_id character varying(50),server_id       character varying(50),file_name       character varying(255),folder          character varying(500),file_path       character varying(500),collect         bool default false,file_size       int8,time_len        double precision
);drop table IF EXISTS wvp_user;
create table IF NOT EXISTS wvp_user
(id          serial primary key,username    character varying(255),password    character varying(255),role_id     integer,create_time character varying(50),update_time character varying(50),push_key    character varying(50),constraint uk_user_username unique (username)
);drop table IF EXISTS wvp_user_role;
create table IF NOT EXISTS wvp_user_role
(id          serial primary key,name        character varying(50),authority   character varying(50),create_time character varying(50),update_time character varying(50)
);drop table IF EXISTS wvp_user_api_key;
create table IF NOT EXISTS wvp_user_api_key
(id          serial primary key,user_id     int8,app         character varying(255),api_key     text,expired_at  int8,remark      character varying(255),enable      bool default true,create_time character varying(50),update_time character varying(50)
);/*初始数据*/
INSERT INTO wvp_user
VALUES (1, admin, 21232f297a57a5a743894a0e4a801fc3, 1, 2021-04-13 14:14:57, 2021-04-13 14:14:57,3e80d1762a324d5b0ff636e0bd16f1e3);
INSERT INTO wvp_user_role
VALUES (1, admin, 0, 2021-04-13 14:14:57, 2021-04-13 14:14:57);drop table IF EXISTS wvp_common_group;
create table IF NOT EXISTS wvp_common_group
(id               serial primary key,device_id        varchar(50)  NOT NULL,name             varchar(255) NOT NULL,parent_id        int,parent_device_id varchar(50) DEFAULT NULL,business_group   varchar(50)  NOT NULL,create_time      varchar(50)  NOT NULL,update_time      varchar(50)  NOT NULL,civil_code       varchar(50) default null,constraint uk_common_group_device_platform unique (device_id)
);drop table IF EXISTS wvp_common_region;
create table IF NOT EXISTS wvp_common_region
(id               serial primary key,device_id        varchar(50)  NOT NULL,name             varchar(255) NOT NULL,parent_id        int,parent_device_id varchar(50) DEFAULT NULL,create_time      varchar(50)  NOT NULL,update_time      varchar(50)  NOT NULL,constraint uk_common_region_device_id unique (device_id)
);drop table IF EXISTS wvp_record_plan;
create table IF NOT EXISTS wvp_record_plan
(id              serial primary key,snap            bool default false,name            varchar(255) NOT NULL,create_time     character varying(50),update_time     character varying(50)
);drop table IF EXISTS wvp_record_plan_item;
create table IF NOT EXISTS wvp_record_plan_item
(id              serial primary key,start           int,stop            int,week_day        int,plan_id        int,create_time     character varying(50),update_time     character varying(50)
);