chatop2020 / streamnode-gb28181 Goto Github PK
View Code? Open in Web Editor NEW本项目是基于ZLMediaKit的流媒体控制管理接口平台,支持RTSP,GB28181的设备拉流与推流控制,GB28181支持PTZ控制。
本项目是基于ZLMediaKit的流媒体控制管理接口平台,支持RTSP,GB28181的设备拉流与推流控制,GB28181支持PTZ控制。
1:视频调用-开启,暂停,关闭
2:能控制最好
3:可以回放
是常规诉求
OnPublishNew,req.MediaServerId 这个为什么是空的?哪里配置的问题吗?
在4G得环境下面---可能需要取得辅助码流,效果会比较可以
其次参数调优
fps-->
以后会支持拉取历史视频列表和拉取历史视频的功能吗
运行StreamMediaServerKeeper时报错
2020-11-16 19:02:47,471 [7] ERROR StreamNode - 报错了-> Object reference not set to an instance of an object. -> at StreamMediaServerKeeper.ProcessApis.CheckIsRunning(ResponseStruct& rs) in /work/StreamNode_1116/StreamNode-GB28181-master/StreamMediaServerKeeper/ProcessApis.cs:line 145
at StreamMediaServerKeeper.Common.KeepAlive() in /work/StreamNode_1116/StreamNode-GB28181-master/StreamMediaServerKeeper/Common.cs:line 456
我用的海康摄像头,传输协议改成tcp,服务端就会显示获取设备目录失败,udp是没有问题的。
你这边的是完全同步,不需要任何编译,完全支持同步?
VS打开提示ini-parser依赖项有问题,不过程序可以正常运行,猜测这个ini-parser应该是.Net Framework的依赖项,.NetCore版本的应该是ini-parser-netstandard,切换成ini-parser-netstandard运行未发现问题,ini文件可以正常解析。
IP地址配置--是OK的
如果换成域名---不行,无法返回列表
如果keeper的配置config.conf改变之后,如果重新启动之后
对应的webapi----无法自动重来上来,验证很多次都是一样的情况
虽然不影响,只是问题放这里说明一下
git clone https://github.com/chatop2020/StreamNode-GB28181.git
Cloning into 'StreamNode-GB28181'...
remote: Enumerating objects: 211, done.
remote: Counting objects: 100% (211/211), done.
remote: Compressing objects: 100% (140/140), done.
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 110
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
[root@localhost ~]# git config http.sslVerify "false"
fatal: not in a git directory
[root@localhost ~]# git config --global http.sslVerify "false"
[root@localhost ~]# git config http.sslVerify "false"
fatal: not in a git directory
C:\Users\lawre\source\repos\Git_Projects\StreamNode - GB28181\StreamNodeWebApi\bin\Debug\netcoreapp3.1>streamnodewebapi
Starting logging initialisation.
2020-10-09 13:59:22.697 [Debug]: Target framework: .Net Core 3.1
2020-10-09 13:59:22.701 [Debug]: EnvironmentVariables.MICRO_REGISTRY_ADDRESS:
2020-10-09 13:59:22.702 [Debug]: EnvironmentVariables.GB_NATS_CHANNEL_ADDRESS:
2020-10-09 13:59:22.702 [Debug]: EnvironmentVariables.DEVICE_MANAGEMENT_SERVICE_ADDRESS:
2020-10-09 13:59:22.702 [Debug]: EnvironmentVariables.SYSTEM_CONFIGURATION_SERVICE_ADDRESS:
2020-10-09 13:59:22.703 [Debug]: EnvironmentVariables.GB_SERVICE_LOCAL_IP:
2020-10-09 13:59:22.704 [Debug]: EnvironmentVariables.GB_SERVICE_LOCAL_ID:
2020-10-09 13:59:22.704 [Debug]: EnvironmentVariables.GBServerGrpcPort: 50051
2020-10-09 13:59:22.704 [Debug]: Notes: if EnvironmentVariables have no value, it gets from xml config.
2020-10-09 13:59:22.864 [Debug]: Load assets from xml with local ip&port is 192.168.0.100:5060
2020-10-09 13:59:22.868 [Debug]: 1 GB28181.App.SIPAccount assets loaded from XML record set.
2020-10-09 13:59:22.869 [Debug]: Starting file watch on C:\Users\lawre\source\repos\Git_Projects\StreamNode - GB28181\StreamNodeWebApi\bin\Debug\netcoreapp3.1\Config\gb28181.xml.
2020-10-09 13:59:22.886 [Debug]: SIPRegistrarCore is running at Udp:192.168.0.100:5060
2020-10-09 13:59:22.888 [Debug]: SIPMessageCore is runing at udp:192.168.0.100:5060
[2020-10-9 13:59:22] 启动日志转存服务...(循环间隔:600000ms)
2020-10-09 13:59:22.909 [Debug]: SIPUDPChannel socket on 0.0.0.0:5060 listening started.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://[::]:5800
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\Users\lawre\source\repos\Git_Projects\StreamNode - GB28181\StreamNodeWebApi\bin\Debug\netcoreapp3.1
报错了:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(3),
UpdateTime
DATETIME(3),
Activated
BIT(1),
PRIMARY KEY (Id
' at line 19
at FreeSql.Internal.CommonProvider.CodeFirstProvider.SyncStructure(TypeAndName[] objects)
at FreeSql.Internal.CommonProvider.CodeFirstProvider.SyncStructureTEntity
at FreeSql.Internal.CommonProvider.Select0Provider2..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere) at FreeSql.Internal.CommonProvider.Select1Provider
1..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere)
at FreeSql.MySql.Curd.MySqlSelect1..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere) at FreeSql.MySql.MySqlProvider
1.SelectT1
at StreamNodeWebApi.AutoTasker.CameraAutoKeeper.keeperCamera() in C:\Users\lawre\source\repos\Git_Projects\StreamNode - GB28181\StreamNodeWebApi\AutoTasker\CameraAutoKeeper.cs:line 455
报错了:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(3),
UpdateTime
DATETIME(3),
Activated
BIT(1),
PRIMARY KEY (Id
' at line 19
at FreeSql.Internal.CommonProvider.CodeFirstProvider.SyncStructure(TypeAndName[] objects)
at FreeSql.Internal.CommonProvider.CodeFirstProvider.SyncStructureTEntity
at FreeSql.Internal.CommonProvider.Select0Provider2..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere) at FreeSql.Internal.CommonProvider.Select1Provider
1..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere)
at FreeSql.MySql.Curd.MySqlSelect1..ctor(IFreeSql orm, CommonUtils commonUtils, CommonExpression commonExpression, Object dywhere) at FreeSql.MySql.MySqlProvider
1.SelectT1
at StreamNodeWebApi.AutoTasker.CameraAutoKeeper.keeperCamera() in C:\Users\lawre\source\repos\Git_Projects\StreamNode - GB28181\StreamNodeWebApi\AutoTasker\CameraAutoKeeper.cs:line 455
用的是MySQL 5.5.49,已创建streamnode数据库
如果是4G网络环境
1:我重启keeper --或者重启服务器ZLM
然后那个streamid就变化了 因为是动态的IP地址那个情况,好像
1、将MediaServer文件夹放到StreamMediaServerKeeper项目文件夹中,然后修改StreamMediaServerKeeper.csproj,新增代码:
<ItemGroup>
<None Include="MediaServer\**"
CopyToOutputDirectory="PreserveNewest"
/>
</ItemGroup>
作用:生成或发布时,如果MediaServer文件夹中的内容有修改,则复制到输出目录。
2、修改StreamMediaServerKeeper项目中的Config.conf,将MediaServerBinPath更改为包含~符号的相对目录,~代表StreamMediaServerKeeper可执行程序的目录。
3、修改StreamMediaServerKeeper\Common.cs,将MediaServerBinPath 赋值语句修改为MediaServerBinPath = tmpArr[1].Trim().TrimEnd(';').Replace("~", AppDomain.CurrentDomain.BaseDirectory);
即如果检测到配置文件目录中包含~符号,则视为可执行程序所在目录。
这样后续发布到新的服务器可以直接将StreamMediaServerKeeper生成的文件夹复制过去,不需要重新配置MediaServer目录。
如题,咱们这个能否可以做成docker部署?编译好后还要单独安装zlmediakit吗?还是咱们这个里面就已经内置了,不需要单独再另外部署安装?
有没有简单点的部署方式,部署了几天了,还是访问不了,完全按操作做了,结果还是不行。
建议作者建议个qq群,我们使用的时候,问题交流,非常感谢
没有接触过C# .net,折腾了一下午,还是没有跑起来。。。
是否可以把 编译 运行命令说明一下,帮助第一次接触项目的人,可以先跑起来,再去深究代码逻辑
感谢开源
你好:WEB管理平台展示在哪里可以看到
菜鸟有一个小小的疑问,StreamMediaServerKeeper这个项目是没有适配Windows吗?启动MediaServer的相关代码我看适配的是Linux和OSX。
另外就是直接使用process.StartInfo.FileName = "MediaServer路径"这样的形势启动MediaServer和process调用命令去启动MediaServer的相比较会有什么问题吗?感觉前者更容易实现跨平台。调用命令的话还要针对Linux和Windows编写不同的命令。是因为nohup的原因吗?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.