ubuntu22.04部署docker版zlmediakit和源码运行wvp-GB28181-pro

1 运行zlmediakit

1. 修改zlmediakit配置文件

先用run命令运行zlmediakit,将zlmediakit的配置文件拷贝出来

docker run -d -p 1935:1935 -p 8080:80 -p 8554:554 \
-p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp \
--name zlmediakit \
zlmediakit/zlmediakit:master

将配置文件拷贝到

mkdir -p ~/Documents/docker/zlmediakit/media
docker cp -a zlmediakit:/opt/media/conf ~/Documents/docker/zlmediakit/media

修改配置文件

vim ~/Documents/docker/zlmediakit/media/conf/config.ini

设置wvp调用zlmediakit接口时所携带的密钥
api.secret=035c73f7-bb6b-4889-a715-d9eb2d1925cd
设置zlmediakit的ID
general.mediaServerId=zlmediakit-local
启用hook功能
hook.enable=1
设置点播视频时的端口范围
rtp_proxy.port_range=20400-20450

2. 编写docker-compose.yml配置文件

version: '3'
services:zlmediakit:container_name: zlmediakitimage: zlmediakit/zlmediakit:masterports:- "1935:1935"- "20018:80"- "18443:443"- "18554:554"- "10000:10000"- "8000:8000/udp"- "8000:8000"- "9000:9000/udp"- "9000:9000"- "20400-20450:20400-20450/udp"- "20400-20450:20400-20450"volumes:- /home/hyl/Documents/docker/zlmediakit/media/conf:/opt/media/conf

挂载目录按照自己的实际情况修改

3. 运行zlmediakit

cd ~/Documents/docker/zlmediakit
docker-compose up -d

2 源码运行wvp

1 开发环境

  • Java 8
  • Maven 3.8.8
  • nodejs v14.21.3

2 下载代码

mkdir -p ~/Documents/code/GitHub
cd ~/Documents/code/GitHub
git clone https://github.com/648540858/wvp-GB28181-pro.git

3 初始化数据库

创建数据库,找到 wvp-GB28181-pro/数据库目录下的最新版本的文件夹
使用mysql,创建数据库wvp,运行初始化-mysql-xxx.sql脚本

4 创建新的springboot配置文件application-local.yml

修改配置文件(只介绍media部分。redis,数据库,sip部分省略)
设置主zlmediakit的ID,对应config.ini中的general.mediaServerId
media.id=zlmediakit-local
主zlmediakit所在主机的内网ip
media.ip=10.220.10.67
主zlmediakit的端口
media.http-port=20018
wvp调用zlmediakit接口时所携带的密钥,对应config.ini中的api.secret
media.secret=035c73f7-bb6b-4889-a715-d9eb2d1925cd
开启后会在portRange范围内选择端口用于媒体流传输
rtp.enable=true
端口范围,对应config.ini中的rtp_proxy.port_range
rtp.port-range=20400,20450
关闭录像辅助服务
rtp.record-assist-port=0

5 打包前端代码

在web_src目录下

cd ~/Documents/code/GitHub/wvp-GB28181-pro/web_src
npm install
npm run build

6 打包后端代码

cd ~/Documents/code/GitHub/wvp-GB28181-pro
mvn clean install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式0基础开始学习 ⅠC语言(6)函数

0.问题引入 有时候&#xff0c;经常需要在一个程序中&#xff0c;对一个数组进行输入输出 如&#xff1a; int a[3][4]; int i,j; for(i0;i<3;i) { for(j0;j<4;j) …

风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令

风萧萧兮易水寒&#xff0c;壮士一去兮不复还 的 rm 命令 风萧萧兮易水寒&#xff0c;壮士一去兮不复还 的 rm语法几个示例/bin/rm Argument list too long – Linux”配合find与xargs完成删除海量文件使用find的delete选项 快速删除大文件 风萧萧兮易水寒&#xff0c;壮士一去…

设计模式20——职责链模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 职责链模式&#xff08;Chain …

FreeRTOS【8】二值信号量使用

1.开发背景 FreeRTOS 提供了队列可以在线程间快速交换信息&#xff0c;那么还有没有其他交互渠道&#xff1f;答案是有的&#xff0c;相对于队列传递信息&#xff0c;还有更轻量级的线程唤醒操作&#xff0c;那就是信号量&#xff0c;而二值信号量就是最简单的一种。 二值信号量…

解读一下15.52.34.160/27

IP地址15.52.34.160/27可以分解为两部分来解读&#xff1a; IP地址: 15.52.34.160 这是分配给网络接口的地址&#xff0c;用于在网络中标识一个特定的设备。 子网掩码: /27 这表示子网掩码是27位长&#xff0c;意味着网络部分占据了IP地址的前27位&#xff0c;剩下的5位用于主…

C++模拟实现stack和queue

1 stack 1.1概念 stl栈 1.2栈概念 1.3代码 2 queue 2.1概念 stl队列 2.2队列概念 2.3代码

【python】实用性python脚本链接汇总

目标检测方向–python脚本 标签处理 链接备注基于YOLO目标检测任务相关将一张labelImg图片标注的xml标签文件检测框复制到其他图片目标检测任务的VOC标签&#xff0c;可复制xml修改目标检测的xml标签(VOC)类别名目标检测任务的VOC标签&#xff0c;修改标签文件的类别名称(nam…

网上打印资料A4纸一般多少钱一张

我们知道&#xff0c;在打印需求上A4纸&#xff08;210mmx297mm&#xff09;是较为常见的打印用纸&#xff0c;同时因为纸张的不同在价格上也存在一定的差异。当然&#xff0c;因在网上打印平台打印资料&#xff0c;能够降低一定的租金个人工成本。 因此&#xff0c;在网上打印…

Swift 中的Getter 和 Setter

目录 前言 1. 什么是Getter和Setter 1.定义 2.作用 2.属性 1.存储属性 2.计算属性 3.属性观察者 3. 使用 Getter 和 Setter 的场景 1.数据转换 2.懒加载 3.数据验证和限制 4.触发相关操作 4.自定义Getter 和 Setter 5. 参考资料 前言 属性是 Swift 编程中的基本…

关于 Spring 是什么

Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;有着活跃⽽庞⼤的社区&#xff0c;这就是它之所以能⻓久不衰的原因。Spring ⽀持⼴泛的应⽤场景&#xff0c;它可以让 Java 企业级的…

九章云极DataCanvas公司DingoDB完成中国信通院权威多模数据库测试

2024年5月16日&#xff0c;九章云极DataCanvas公司自主研发和设计的开源多模向量数据库DingoDB顺利完成中国信息通信研究院&#xff08;以下简称中国信通院&#xff09;多模数据库产品测试。本次测试的成功标志着DingoDB在技术能力、性能表现和产品稳定性方面得到了权威机构的高…

python深入探索斐波那契数列:代码示例与不满足的外围条件

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、斐波那契数列的初步实现 二、外围条件的不满足情况 总结 一、斐波那契数列的初步实现 …

Presto 从提交SQL到获取结果 源码详解(2)

逻辑执行计划&#xff1a; //进入逻辑执行计划阶段 doAnalyzeQuery().new LogicalPlanner().plan(analysis);//createAnalyzePlan createAnalyzePlan(analysis, (Analyze) statement);//返回RelationPlan&#xff0c;&#xff08;返回root根节点&#xff0c;逻辑树上包含输出字…

docker容器中解决中文乱码

1. 找到dockerfile文件 2. 编辑Dockerfile 添加 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 3. 生成新的镜像文件 FROM java17_yinpeng:latest MAINTAINER YP <2064676101QQ.COM> ADD jiquan_online_chat.jar jiquan_online_chat #CM…

Socks5代理IP有什么特点:

小熊IPSocks5代理IP比其他类型的代理具有更多的灵活性和安全性。SOCKS5代理的另一个优点是您可以将其用于任何类型的流量&#xff08;TCP或UDP&#xff09;。您可以有选择地隐藏流量的特定部分&#xff08;基于应用程序&#xff09;&#xff0c;从基于TCP的连接&#xff08;如H…

【HarmonyOS】取消页面转场动画

【HarmonyOS】取消页面转场动画 问题背景&#xff1a; 当A页面切换至B页面时&#xff0c;系统会自带左右进场退场的动画效果。一般来说&#xff0c;该效果是ok的&#xff0c;但是在特殊场景下&#xff0c;例如&#xff1a; A页面跳到B页面&#xff0c;又跳到C页面。C页面直接返…

存储型XSS

前言 什么是存储型xss&#xff1a; 提交恶意xss数据&#xff0c;存入数据库中&#xff0c;访问时触发。 存储型xss和反射型xss区别&#xff1a; 存储型存入数据库中&#xff0c;可持续时间长&#xff0c;而反射型持续时间短&#xff0c;仅对本次访问有影响&#xff0c;反射型一…

中华活页文选高中版投稿发表

《中华活页文选&#xff08;高中版&#xff09;》创刊于1960年&#xff0c;是中宣部所属中国出版传媒股份有限公司主管、中华书局主办的国家级基础教育期刊&#xff0c;曾获得“中国期刊方阵双效期刊”、国家新闻出版广电总局推荐的“百种优秀报刊”等荣誉称号。本刊以高中学科…

TCP连接优化

TCP连接未释放 断开连接后TCP有两个状态&#xff1a; 一个是TIME_WAIT&#xff0c;一个是CLOSE_WAIT&#xff0c;是不同的两个状态 TIME_WAIT&#xff1a;出现在主动断开方&#xff0c;发出最后一个ACK后 CLOSE_WAIT&#xff1a;出现在被动断开方&#xff0c;收到主动断开方的…

Day 6:2981. 找出出现至少三次的最长特殊子字符串 I

Leetcode 2981. 找出出现至少三次的最长特殊子字符串 I 给你一个仅由小写英文字母组成的字符串 s 。 如果一个字符串仅由单一字符组成&#xff0c;那么它被称为 特殊 字符串。例如&#xff0c;字符串 “abc” 不是特殊字符串&#xff0c;而字符串 “ddd”、“zz” 和 “f” 是特…