chatop2020 / akstream Goto Github PK
View Code? Open in Web Editor NEWAKStream是一套全平台(Linux,MacOS,Windows)、全架构(X86_64,Arm...)、全功能的流媒体管理控制接口平台。集成GB28181,RTSP,RTMP,HTTP等设备推拉流控制、PTZ控制、音视频文件录制管理、音视频文件裁剪合并等功能与一体
License: MIT License
AKStream是一套全平台(Linux,MacOS,Windows)、全架构(X86_64,Arm...)、全功能的流媒体管理控制接口平台。集成GB28181,RTSP,RTMP,HTTP等设备推拉流控制、PTZ控制、音视频文件录制管理、音视频文件裁剪合并等功能与一体
License: MIT License
原谅我没学过C#,可否在readme里面增加编译运行操作说明。。。
经测试,ZLMediaKit的addStreamProxy调用需传递enable_hls=1,不能让json库直接序列化成true,否则会导致ZLMediaKit不生成对应hls流
ZLMediaKit出问题的版本:
编译日期: 2021/03/12-16:10:58
当前git分支: master
当前git hash值: c0f4899950f92b3b1ba4621e55b34f734a029836
如下:
2021-05-12 14:43:46,481 [11] WARN AKStream - [SipServer]->Sip代理获取设备目录失败->{"Code":"None","Message":"无错误"}
2021-05-12 14:43:46,482 [11] ERROR AKStream - [AKStreamWeb]->设备目录获取失败->192.168.1.100-34020000001110000001
问题描述:
下级新增设备并设置共享上级无法接收到新设备
下级设备掉线时上级设备状态仍是在线感知不到下级设备状态变化
请问有计划完善吗或者可以提供下解决思路吗 对级联不太熟悉
你好,因为我使用的摄像头是带本地存储的,我想通过时间戳只让摄像头将自身的某一段时间回放流推送给流媒体,该怎么实现呢?谢谢!
请教一下,当ZLMediaKit是使用Docker部署的时候,需要怎样部署,AKStream才能正常使用呢?
ZLMediaKit的运行语句是:
docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit
如果可以的话,建议将AKStream做成一个Docker镜像,支持与ZLMediaKit一起使用docker-compose运行,那样的话使用起来就非常方便了。
非常感谢作者开源了这么好的项目,感谢!
如题
我自己的电脑本身是5.0.100
vs2019好像直接是这个版本,我一直以为是3.1的版本
编译要改成5.0.100才可以
否则不行
不过不知道是不是部署到实际系统上面是不是一定是5.0.100的
win、linux下的下载、编译、安装方法
配置文件说明等等
chatop2020
您好!用4G摄像头,录像需要存储在本地,所以需要基于国标的摄像头本地录像回放功能,不知道这个功能什么时候能实现?感谢您的辛苦付出!
当编码为H265时报:some flv fles video error "MediaError: CodecUnsupported Flv: Unsupported codec in video frame: 12"
改为H264后能播放,但十几秒后会出现 MediaError:MediaMSEError
建议在SipMsgProcess内新增流媒体服务器的注册,心跳,离线的回调
我在继承AK的时候发现找不到有管流媒体服务器相关的参数 无法更好的掌握流媒体的动态
Centos7用户,请问如何安装部署
Hello can you add English option
可否新增一个新增流媒体服务器的注册,心跳,离线的回调
类似于设备的上下线心跳注册,
我抛弃了AK的主程序,自己写的,但是发现流媒体无法有效的掌控,
如题
/MediaServer/AddStreamProxy
这个接口的 拉rtsp时 rtsp://用户名:密码@ip 时候 UtilsHelper.IsRtspUrl(videoChannel.VideoSrcUrl) 过不去
不加用户名 密码 zlmediakit 返回-1
目前开放的_StreamLive_接口与_LiveVideo_似乎都是获取的实时视频流,请问该怎么获取到指定时间段内的历史流呢
我用的是ubuntu系统,/usr/sbin/route和/usr/sbin/ifconfig是不存在的,而是/sbin/route和/sbin/ifconfig,如果可以根据系统区分下就更好了。
请问AKStream是免费的吗,使用有没有限制?谢谢
AKStreamWeb/Misc/SipServerCallBack.cs 代码中
sipChannel.SipChannelStatus != DevStatus.OFF) //只有视频设备并且是可用状态的进数据库
{
var obj = ORMHelper.Db.Select().Where(x =>
x.ChannelId.Equals(sipChannel.DeviceId) && x.DeviceId.Equals(sipChannel.ParentId) &&
x.DeviceStreamType.Equals(DeviceStreamType.GB28181)).First();
if (obj != null)
{
return;
}
如果设备已经存在了则直接返回,导致如果前端的设备信息发生变生化数据库中没有更新。
建议优化逻辑,增加update数据库逻辑更新设备的基础信息(如ChannelName、IpV4Address、IpV6Address)信息,实现设备信息与数据库信息的同步
增加对单个设备的独立密码,
独立表存放设备ID与密码,设备注册时可以拿着ID取密码进行鉴权
提出该需求的原因
服务器处于公网环境下,设备较多时密码都是统一的,会被别有用心的人进行恶意的攻击,独立密码恰好可以有效的解决
SipIpAddress 中对应的ip应该是哪个程序对应的 求解
环境 vs2019 单独运行 AKStreamKeeper 或者AKStream 均无法查看 5800或者6880 swagger 本机5800与6880已经开启
请问,可以给出Centos的部署教程么?
将AKStream部署到docker容器, 容器使用ubuntu18.04, 将5800映射到宿主机, 发现无法连接到映射的端口, 但是能从外部ping通该端口, 进入容器, 查看日志, 无任何报错, 然后在容器内部执行curl 127.0.0.1:5800, 发现同样无法访问, 使用netstat -plt查看端口情况跟, 5800只出现在tcp6, 对比发现, SIP端口5060会同时出现在tcp和tcp6, sip服务外部访问正常
相同的部署方式, 部署在非docker容器, curl操作可以正常返回数据
AKStream录制计划是跟视频通道绑定的,视频通道就是往一个地址拉流,然后这个视频通道绑定这个录制计划,按照录制计划进行录制。推流的好像不支持,推流录制的只能走MediaServer的Web Hook的OnPublish(流发布事件),里面再调用开始录制接口。
我的理解对吗?
2022-06-22 13:41:04,780 [.NET ThreadPool Worker] ERROR AKStream - [AKStreamWeb]->HTTP-OUTPUT->::ffff:192.168.10.1->POST->/MediaServer/WebHook/OnPlay->StatusCode:500->Body: 抱歉,出错了
Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count)
at LiteDB.Engine.BufferReader.Read(Byte[] buffer, Int32 offset, Int32 count)
at LiteDB.Engine.BufferReader.ReadNumber[T](Func3 convert, Int32 size) at LiteDB.Engine.BufferReader.ReadElement(HashSet
1 remaining, String& name)
at LiteDB.Engine.BufferReader.ReadDocument(HashSet1 fields) at LiteDB.Engine.BufferReader.ReadElement(HashSet
1 remaining, String& name)
at LiteDB.Engine.BufferReader.ReadArray()
at LiteDB.Engine.BufferReader.ReadElement(HashSet1 remaining, String& name) at LiteDB.Engine.BufferReader.ReadDocument(HashSet
1 fields)
at LiteDB.Engine.BufferReader.ReadElement(HashSet1 remaining, String& name) at LiteDB.Engine.BufferReader.ReadDocument(HashSet
1 fields)
at LiteDB.Engine.DatafileLookup.Load(PageAddress rawId)
at LiteDB.Engine.BasePipe.LoadDocument(IEnumerable1 nodes)+MoveNext() at LiteDB.Engine.BasePipe.Filter(IEnumerable
1 source, BsonExpression expr)+MoveNext()
at LiteDB.Engine.BasePipe.Filter(IEnumerable1 source, BsonExpression expr)+MoveNext() at LiteDB.Engine.QueryPipe.Select(IEnumerable
1 source, BsonExpression select)+MoveNext()
at LiteDB.Engine.QueryExecutor.<>c__DisplayClass10_0.<g__RunQuery|0>d.MoveNext()
at LiteDB.Engine.QueryExecutor.ExecuteQuery(Boolean executionPlan)
at LiteDB.Engine.LiteEngine.Query(String collection, Query query)
at LiteDB.LiteQueryable1.ToDocuments()+MoveNext() at System.Linq.Enumerable.SelectEnumerableIterator
2.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
at AKStreamWeb.Services.WebHookService.OnPlay(ReqForWebHookOnPlay req)
at lambda_method1377(Closure , Object , Object[] )
[root@VM-16-14-centos AKStreamKeeper]# dotnet AKStreamKeeper.dll
2022-01-18 10:33:44,045 [1] INFO AKStream - [AKStreamKeeper]->Let's Go...
Unhandled exception. LibCommon.AkStreamException: Exception of type 'LibCommon.AkStreamException' was thrown.
at AKStreamKeeper.MediaServerInstance..ctor(String binPath, AKStreamKeeperConfig keeperConfig, String configPath) in /AKStream/AKStreamKeeper/MediaServerInstance.cs:line 88
at AKStreamKeeper.Common.StartupMediaServer() in /AKStream/AKStreamKeeper/Common.cs:line 117
at AKStreamKeeper.Common.Init() in /AKStream/AKStreamKeeper/Common.cs:line 739
at AKStreamKeeper.Program.Main(String[] args) in /AKStream/AKStreamKeeper/Program.cs:line 15
Aborted (core dumped)
通过 http://公网ip/index/api/setServerConfig?secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc&hook.enable=0 接口修改config.ini文件配置,想关掉推流和播放的鉴权。停止服务后重新启动报错。
如何启动LibGB28181SipServer 在windows环境中
有那么一种情况, AK请求直播流时提示超时, 但是实际ZLM在AK超时后开启了RTP推流, 在AK再次请求直播流, 一直提示流媒体响应超时, 在AK请求IsLiveVideo, 返回false, 在ZLM请求getMediaList, 却可以看到流正在推.
那么, AK请求直播流前能否先调用getMediaList, 如果正在推流, 则直接返回播放url
为什么我这样rtsp://admin:[email protected]:10554/Streaming/channels/101的url识别不是rtsp的url
您好 感谢您的开源分享
请问一下 目前是否支持RTMP、RTSP转国标 ?
国标是否支持上下级级联?
日志收到了 Sip设备注册信息(无错误日志) ,但是videochannel没有信息,接口也返回空是为啥?
AKStream/LibCommon/UtilsHelper.cs
这里判断时,) ?[0-9a-zA-Z 前面多了一个空格,导致带用户名密码的地址会验证失败.
对于不会c#的人来说无从下手
我是ubuntu系统,我的代码编译运行后,AKStreamKeeper读取配置文件路径是代码里的Config配置文件,而不是生成的可执行文件里的config配置文件
什么时候会有完整的使用说明呀
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.