使用AKStream对接gb28181

优点:功能比较多,C#开发的,容易修改,内嵌入了zlmk流媒体服务品,启动简单

缺点:sip对摄像头兼容还有问题,大华接入非常不稳定,注册等待时间久,对海康是正常,占用内存相对 m7s大很多

部署,代码git下载回来后,用visual stuio 进行编译打包为两个目录

AKStreamKeeper

AKStreamWeb

上传到ubuntu

7c9d1b689db14767bfee6fd66e037529.png

安装好zlmediaKit 安装方法见官方

安装ffmpeg

 

AKStreamKeeper.json配置

{"IpV4Address": "3.39.58.47本地外网IP","IpV6Address": "fe80::5054:ff:feca:ac1e","Candidate":"3.39.58.47本地外网IP","WebApiPort": 6880,"MediaServerPath": "/root/ZLMediaKit/ZLMediaKit/release/linux/Debug/MediaServer","AkStreamWebRegisterUrl": "http://(AKStreamWeb所在服务器IP)59.5.26.18:5800/MediaServer/WebHook/MediaServerKeepAlive","CutMergeFilePath": "/usr/video/CutMergeFile","CustomRecordPathList": ["/usr/video/Downloads"],"UseSsl": false,"MinRtpPort": 10001,"MaxRtpPort": 20000,"MinSendRtpPort": 20002,"MaxSendRtpPort": 20200,"RandomPort": true,"FFmpegPath": "/usr/bin/ffmpeg","AccessKey": "047I4WS1-U51UBO6W-1J4BT21P-MF17IT99-92J8WIHU-944Q4KIW","RtpPortCdTime": 3600,"HttpClientTimeoutSec": 5,"DisableShell": false,"CheckLinuxDiskMount": false,"ZLMediakitSSLFilePath": "./sslfiles/","ListenIp": "0.0.0.0","EnableRtspAuth": false
}

 

AKStreamWeb 我部署在另外一台服务器了,配置

AKStreamWeb.json

{"MediaServerFirstToRestart": true,"DbType": "MySql","OrmConnStr": "Data Source=59.5.26.18;Port=101;User ID=yju;Password=yu23Z; Initial Catalog=ASKDB;Charset=utf8; SslMode=none;Min pool size=1","WebApiPort": 5800,"AccessKey": "047I4WS1-U51UBO6W-1J4BT21P-MF17IT99-92J8WIHU-944Q4KIW","HttpClientTimeoutSec": 5,"WaitEventTimeOutMSec": 10000,"WaitSipRequestTimeOutMSec": 5000,"DeletedRecordsExpiredDays": 30,"EnableGB28181Server": true,"EnableGB28181Client": true,"ZlmFlvPrefix": "live","ListenIp": "0.0.0.0","ForwardUnmanagedRtmpRtspRtcStream": true,"LocalizationKingBaseDb": false,"ForwardUrlIn": "http://","ForwardUrlOut": "http://","ForwardUrlOnRecord": "http://","PushStreamIpGetUrl": ""
}

SipClientConfig.json

{"LocalIpAddress": "59.5.26.18","LocalPort": 5061,"SipServerIpAddress": "59.5.26.18","SipServerPort": 5060,"SipServerDeviceId": "34020000002000000001","Realm": "3402000000","SipUsername": "admin","SipPassword": "123#@!qwe","KeepAliveInterval": 30,"KeepAliveLostNumber": 3,"SipDeviceId": "34020000001310000001","Expiry": 3600,"EncodingType": "UTF8","AkstreamWebHttpUrl": "http://59.5.26.18:5800/SipClient"
}

SipServerConfig.json

{"SipIpAddress": "3.39.58.47(AKStreamKeeper服务器IP)","SipIpV6Address": "fe80::5054:ff:feca:ac1e","ServerSipDeviceId": "34020000002000000001","SipPort": 5060,"Realm": "3402000000","GbVersion": "GB-2016","Authentication": false,"SipUsername": "admin","SipPassword": "123#@!qwe","MsgProtocol": "TCP","KeepAliveInterval": 30,"KeepAliveLostNumber": 3,"IpV6Enable": false,"EncodingType": "UTF8","IsPassive": true,"ListenIp": "0.0.0.0","NoAuthenticationRequireds": [{"IpV4Address": "3.39.58.47","IpV6Address": "fe80::5054:ff:feca:ac1e","DeviceId": "33020000021180000001"}]
}

配置好了

 

三、安装前端界面 AKStreamNVR

https://gitee.com/sscboshi/AKStreamNVR#https://gitee.com/link?target=http%3A%2F%2Fakstream.govfun.com%3A10059%2F

注意看github上面的 wiki安装说明

173a75d963854846b579d03cde7780e3.png

 

运 行

8c7f867d58e64abaaaf5c22a2de5a0af.png

 

 

摄像头配置

973281d69cfc46a7bc4243ea49dc2bf1.png

 

 

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

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

相关文章

Android 12.0 监听手机飞行模式

1. 判断当前手机飞行模式是否开启 /*** * param context* return true:飞行模式开启; false:飞行模式关闭*/ public boolean airplaneMode(Context context) {return (Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) 1);}2. 接…

IntelliJ Idea实用插件推荐

目录 一、插件安装 二、常用插件 A、代码规范 Alibaba Java Coding Guidelines SonarLint B、快捷开发 aiXcoder-AI代码生成 AWS Toolkit-AI代码生成 CodeGeeX-AI代码生成 CodeGlance-代码缩略图 camelCase-格式转换 GsonFormatPlus-json代码生成 Sequence Giagram…

LeetCode第606题 - 根据二叉树创建字符串

题目 解答 class Solution {public void preorder(TreeNode node, StringBuilder sb) {if (node null) {return;}sb.append(node.val);if (node.left null && node.right null) {return;}sb.append("(");preorder(node.left, sb);sb.append(")&quo…

UE4 CustomDepthMobile流程小记

原生UE opaque材质中获取CustomDepth/CustomStencil会报错 在其Compile中调用的函数中没有看到报错逻辑 材质节点的逻辑都没有什么问题,所以看一下报错 在HLSLMaterialTranslator::Translate中 修改之后 mobile流程的不透明材质可以直接获取SceneTexture::customd…

聚焦AI新动能,九州未来与燧弘华创签约!

1月24日,厦门市电子信息与人工智能产业高质量发展大会成功举办。来自电子信息产业、人工智能领域的企业家、专家等近300位嘉宾齐聚一堂,共谋智能基础,共话产业合作,共享发展商机。 会上,九州未来与燧弘华创签署算力租…

什么是XAI

可解释性AI(XAI) 可解释性AI(XAI)旨在提高人工智能系统的透明度和可理解性,使人们更好地理解AI的决策过程和原理。随着AI技术的广泛应用,XAI成为了一个备受关注的重要领域。它不仅有助于建立人们对AI的信任…

anaconda离线安装包的方法

当设备没有网络时,可以使用有网络的设备先下载所需安装包,然后离线拷贝到需要安装的设备,最后安装。 一. 下载所需安装包 下载命令:使用pip download。详细描述参见pip download -h 以"blind-watermark"为例。 pip …

​学者观察 | 区块链技术理论研究与实践观察——中央财经大学朱建明

导语 当下区块链研究成果质量越来越高,技术应用越来越成熟。在现阶段的研究中存在哪些短板需要弥补,如何将研究成果转化为推动数字经济高质量发展的实际应用,区块链技术与其他新技术结合发展将带来哪些新的机遇? 中央财经大学朱…

eduSRC那些事儿-3(命令执行类+越权逻辑类)

点击星标,即时接收最新推文 本文对edusrc挖掘的部分漏洞进行整理,将案例脱敏后输出成文章,不包含0DAY/BYPASS的案例过程,仅对挖掘思路和方法进行相关讲解。 命令执行类 St2命令执行 在电量查询手机管理平台,观察到.do或…

大坑!react+thress.js

2. UI交互界面与Canvas画布叠加 | Three.js中文网 (webgl3d.cn) // canvas画布绝对定位 renderer.domElement.style.position absolute; renderer.domElement.style.top 0px; renderer.domElement.style.left 0px; renderer.domElement.style.zIndex -1; 我按照教程设置了…

不看后悔之JavaEE Web开发预备知识篇:HTML5、CSS3与JavaScript前端三剑客——搭建企业级应用的基石

引言 在JavaEE企业级Web开发中,HTML5、CSS3和JavaScript作为前端技术的核心力量,为构建高性能、高交互的企业应用程序提供了不可或缺的基础支撑。本文将详尽探讨这三种技术在JavaEE环境下的基本概念、核心功能以及最佳实践,助你顺利开启Java…

Golang的数字签名之旅:crypto/ecdsa库详解

Golang的数字签名之旅:crypto/ecdsa库详解 引言crypto/ecdsa库概览基本功能安装和设置使用场景 ECDSA原理简介椭圆曲线密码学基础ECDSA的工作原理安全性考虑 Golang中ECDSA的实现密钥生成数字签名签名验证 crypto/ecdsa的高级应用性能优化安全性考虑实际应用案例 总…

Python列表中的extend功能及用法举例

Python列表中的extend功能及用法举例 🌵文章目录🌵 🌳引言🌳🌳extend()🌳🍀功能介绍🍀🍀语法🍀🍀示例🍀🍀注意事项&#x…

掌握 Android JNI 基础

写在前面 最近在看一些底层源码,发现 JNI 这块还是有必要系统的看一下,索性就写一写博客,加深加深印象🍻 本文重点聊一聊一些干货,避免长篇大论 JNI 概述 JNI 是什么? 定义:Java Native In…

用GPT写PHP框架

参考https://www.askchat.ai?r237422 写一个mvc框架 上面是简单的案例,完整的PHP框架,其核心通常包含以下几个关键组件: 1. 路由(Routing):路由组件负责解析请求的URL,并将其映射到相应的控制…

Kotlin快速入门系列9

Kotlin对象表达式和对象声明 对象表达式 有时,我们想要创建一个对当前类有些许修改的对象同时又不想重新声明一个子类。如果是Java,可以用匿名内部类的概念来解决这个问题。kotlin的对象表达式和对象声明就是为了实现这一点(创建一个对某个类做了轻微改…

使用Mysql实现Postgresql中窗口函数row_number的功能

1. 描述 需要根据用户id,查询每个人得分第二高的科目信息 2. 表结构及数据 2.1 表结构 CREATE TABLE t_score (id bigint(20) NOT NULL AUTO_INCREMENT,user_id bigint(20) NOT NULL,score double NOT NULL,subject varchar(100) NOT NULL,PRIMARY KEY (id) ) E…

已解决org.springframework.dao.DuplicateKeyException异常的正确解决方法,亲测有效!!!

已解决org.springframework.dao.DuplicateKeyException异常的正确解决方法,亲测有效!!! 文章目录 问题分析 报错原因 解决思路 解决方法 识别违反的约束 审查与修改数据操作逻辑 优化数据处理流程 总结 在使用Spring框架…

在 Amazon EKS 上部署生成式 AI 模型

导言 生成式 AI 正在改变企业的运作方式,并加快创新的步伐。总体而言,人工智能正在改变企业利用技术的方式。生成式 AI 技术包括微调和部署大型语言模型(LLM),并允许开发人员访问这些模型以执行提示和对话。负责在 Kub…

一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL

最近与开发和运维讨论数据库账号及赋权问题时,发现大家对DDL和DML两个概念并不了解。于是写一篇文章,系统的整理一下在数据库领域中的DDL、DML、DQL、DCL的使用及区别。 通常,数据库SQL语言共分为四大类:数据定义语言DDL&#xf…