视频会议、在线教育、直播娱乐还是远程监控,流媒体平台的性能和稳定性直接影响着用户体验。
给大家推荐一个基于 C# 开发的全功能流媒体管理控制接口平台。
项目介绍
AKStream是一个基于 C# 开发的全功能流媒体管理控制接口平台。
它集成了 GB28181、RTSP、RTMP、HTTP 等多种设备的推拉流控制、PTZ 控制、音视频文件录制管理、音视频文件裁剪合并等功能。
功能特点
- 极低延时:支持画面秒开,延时极低(500 毫秒内,最低可达 100 毫秒)。
- 标准 Restful WebAPI 接口:提供完善的标准 Restful WebAPI 接口,供其他语言调用。
- GB28181 Sip 信令网关:重新编写 GB28181 Sip 信令网关,使其更加稳定可靠,并具备高可扩展性。
项目环境
- 操作系统:支持 Linux、macOS、Windows,并可在 x86_64、ARM CPU 架构下运行。
- 开发语言:使用 .NET 6 框架,采用 C# 语言编写。
- 数据库支持:使用开源项目 freeSql 数据库类库,支持多种数据库类型(如 SQLite、MS SQL),建议使用 MySQL 5.7 及以上版本。
项目技术
- 流媒体服务器:AKStream 集成了 ZLMediaKit 作为其流媒体服务器,并支持对 ZLMediaKit 的集群管理。
- 编码格式支持:全面支持 H265/H264/AAC/G711/OPUS 等音视频编码格式。
- 流转换:支持 GB28181 的 Rtp 推流、内置流代理器和 ffmpeg 流代理器的多种形式的拉流,以及几乎全协议的互相转换(如 RTSP/RTMP/HLS/HTTP-FLV 等),以供第三方调用播放。
AKStream 结构
AKStream是一个完善的接口平台,提供了几乎所有有关于NVR管理能力的API接口,有网友为AKStream实现了配套的UI,但仅仅只是Demo,是用来告诉你怎么调用AKStream相关接口,学习AKStream思想的一个工具,要真和自己业务相结合,需要自己实现前端UI和业务逻辑功能。
AKStreamWebUI
基于AKStream流媒体管理控制接口的Web管理端。
流媒体服务采用 ZLMediaKit
https://github.com/xia-chu/ZLMediaKit
接口服务采用了AKStream
https://github.com/chatop2020/AKStream
强烈推荐 AKStream 生态圈中的开源 Web 管理平台
基于 React 的纯前端 AKStream Web UI
我们很高兴地向大家推荐 AKStream 生态圈中的又一个开源 Web 管理平台 —— AKStreamNVR。
这款基于 React 的纯前端框架,提供了非常简单的部署和运行方式,极大地简化了流媒体管理的复杂度。
部署简单:一键部署,快速启动。
运行简便:易于操作,无需复杂配置。
https://gitee.com/sscboshi/AKStreamNVR
https://github.com/langmansh/AKStreamNVR)
基于 .NET 5 和 Vue 2 的 AKStream Web UI
另外,我们还推荐另一款专为 AKStream 量身定制的开源 Web 管理平台 —— AKStreamUI。这款基于 .NET 5 和 Vue 2 的平台同样提供了出色的管理和控制功能。
现代化框架:使用 .NET 5 和 Vue 2,确保高性能和稳定性。
易于集成:无缝对接 AKStream 的各项功能。
https://github.com/langmansh/AKStreamUI
https://gitee.com/sscboshi/AKStreamUI
这两个平台不仅提供了强大的功能,还极大地简化了用户的操作体验。无论是基于 React 的 AKStreamNVR 还是基于 .NET 5 和 Vue 2 的 AKStreamUI,都将为流媒体管理带来全新的体验。
项目部署
1、新建数据库
创建新的数据库。
还原 DocumentDatabaseScriptAKStreamWebUI.sql
文件中的数据库脚本。
2、修改配置文件
修改 YiSha.Admin.Webappsettings.json
文件中的 AKStream 接口地址和数据库连接字符串。
3、同步数据库
将 AKStream 的数据库配置与本项目保持一致。(也可以将 AKStream 的 videochannels
表复制到本项目的数据库中。)
项目效果
设备管理
设备列表:通过 AKStream 服务自动添加 SIP 设备到数据库,并可查看设备列表信息。
设备操作:支持设备的添加、编辑、删除和激活功能。
视频预览
在线预览:支持设备的在线视频预览功能。
流媒体服务管理
服务控制:提供流媒体服务的启动、重启、停止功能,并支持查看服务详情和热加载配置文件。
项目地址
GitHub:https://github.com/chatop2020/AKStream
Gitee:
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!