Skip to content
chatop2020 edited this page Mar 23, 2021 · 20 revisions

更新情况

较大更新时会做出相关说明

2021-03-12

  • 增加了dev分支,针对于之前的问题做了统一修复,测试完成以后,会合并到主分支
  • 去除了在线视频列表,取消lock
  • 引入LiteDB实现在线列表的保存与修改
  • 优化了Sip推流的相关功能,使之更加稳定
  • 解决了以前遗留的相关问题(非GB28181)
  • 修复了裁剪合并任务时间不准的问题

2021-02-25

  • 考虑取消SystemInfoLibrary的第三方库,由于此库导致ARM操作系统无法运行
  • 取消SystemInfoLibrary第三方库的硬件信息获取功能
  • 增加MemoryMacValue类用于获取Mac下的内存信息
  • 重新启用MemoryLinuxValue类用于取代SystemInfoLibrary库的相关功能
  • 修正了一个空闲内存计算错误的问题

2021-02-04

  • 对GB28181 Sip网关异常情况做了较多完善
  • 优化各种代码结构与问题的修复
  • 进一步统一了变量、参数名称
  • 大量实际测试后的反馈修改与问题修复
  • 增加了非rtp端口范围的参数控制(Keeper配置中的RandomPort选项)
  • 增加了对每路音视频通道录制切片时长的控制字段(VidelChannel表中的RecordSecs)
  • 增加FFmpeg拉流时的ffmpeg拉流模板功能
  • 本次版本需要使用最新的ZLMediaKit进行配合(预计在2021-02-08以后的ZLMediaKit版本会支持上面的特性)

2021-01-11

  • 修复好了Windows下的网络信息获取功能
  • 对Sip网关udp协议下的nat穿透做了进一步的优化
  • 修正了Sip网关不会发断流信息的bug
  • 修正了AKStreamKeeper中在Windows平台下获取磁盘信息里的一个空指针错误
  • 修正了几个Sip提示写错的地方

AKStream介绍


  • AKStream是StreamNode(全名StreamNode-GB28181)的升级重构版本,AKStream继承了StreamNode的设计结构,但90%以上的代码全部重写,AKStream在代码设计,结构,思想等层面要远优于StreamNode。
  • AKStream与StreamNode一样,还是使用全国最棒的ZLMediaKit作为其流媒体服务器,AKStream支持对ZLMediaKit的集群管理(通过AKStreamKeeper-流媒体治理组件),可以将分布在不同服务器的多个ZLMediaKit集群起来,统一管理,统一调度。
  • 得益于ZLMediaKit流媒体服务器的强大,AKStream全面支持H265/H264/AAC/G711/OPUS等音视频编码格式,支持GB28181的Rtp推流、GB28181-PTZ控制、内置流代理器的http、rtps、rtmp拉流(支持H264,H265/ACC/G711)和ffmpeg流代理器的几乎所有形式的拉流(支持几乎所有格式及转码),将推拉流转换成RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4等几乎全协议的互相转换以供第三方(APP,WEB,客户端等)调用播放。
  • AKStream支持linux、macos、Windows可基于x86_64,ARM CPU架构(由于.net core下无法正确获取到windows的流量信息,这边将Windows系统的网络参数略过, 在Windows平台上,需要自己把各配置文件写好,系统自动生成可能会存在问题)。
  • 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。
  • 提供完善的标准Restful WebApi接口,供其他语言调用。
  • AKStream的GB28181 Sip信令网关重新编写,不再使用StreamNode方案中的那个Sip网关,网关更加稳定可靠。目前仅支持GB28181-2016标准(由于没有其他版本协议的设备,没有做过详细测试),但由于新的Sip网关的高可扩展性,可以根据自己的需要进行功能扩展。
  • AKStream使用.net core 3.1框架(等后续.Net 5成熟后转到.Net 5框架),采用C#语言编写。
  • 数据库部分使用开源项目freeSql数据库类库,支持数据库类型众多,如sqlite、mssql等,建议使用Mysql 5.7以及以上版本。
  • AKStream将之前StreamNode的众多使用反馈做了集中处理与优化,使之更有适应性,可用性;比StreamNode在上体系更加完整,代码质量更高。

AKStream结构


  • 放一张AKStream的完整结构图,以供理解AKStream的动作原理(采用StreamNode的图,原理是一样的)
  • 具体详细说明请阅读项目 WIKI(正在完善中...) 68747470733a2f2f692e6c6f6c692e6e65742f323032302f30392f32392f78776b6557386167597370484b55742e6a7067