.NET 全功能流媒体管理控制接口平台
前言
视频会议、在线教育、直播娱乐还是远程监控,流媒体平台的性能和稳定性直接影响着用户体验。
给大家推荐一个基于 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、新建数据库
创建新的数据库。
还原 Document\DatabaseScript\AKStreamWebUI.sql
文件中的数据库脚本。
2、修改配置文件
修改 YiSha.Admin.Web\appsettings.json
文件中的 AKStream 接口地址和数据库连接字符串。
3、同步数据库
将 AKStream 的数据库配置与本项目保持一致。(也可以将 AKStream 的 videochannels
表复制到本项目的数据库中。)
项目效果
设备管理
设备列表:通过 AKStream 服务自动添加 SIP 设备到数据库,并可查看设备列表信息。
设备操作:支持设备的添加、编辑、删除和激活功能。
视频预览
在线预览:支持设备的在线视频预览功能。
流媒体服务管理
服务控制:提供流媒体服务的启动、重启、停止功能,并支持查看服务详情和热加载配置文件。
项目地址
GitHub:https://github.com/chatop2020/AKStream
Gitee:https://gitee.com/chatop2020/AKStream
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!
.NET 全功能流媒体管理控制接口平台的更多相关文章
- EasyPlayer开源流媒体移动端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版
EasyPlayerPro介绍 Android EasyPlayerPro专业版全功能播放器,是由EasyDarwin开源团队维护的一款支持RTSP.RTMP.HTTP.HLS多种流媒体协议的播放器版 ...
- 116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 光纤PCIe卡
基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 一.板卡概述 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡.由一片Xilinx公司的XC5VLX110T-1FF113 ...
- APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念
近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. ...
- Swift 全功能的绘图板开发
要做一个全功能的绘图板,至少要支持以下这些功能: 支持铅笔绘图(画点) 支持画直线 支持一些简单的图形(矩形.圆形等) 做一个真正的橡皮擦 能设置画笔的粗细 能设置画笔的颜色 能设置背景色或者背景图 ...
- 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...
- vue中实现中,自动补全功能
知识点:利用vue的基本语法实现,自动补全功能 参考博客:https://www.jb51.net/article/136282.htm 效果:在文本框中,输入相关名称,调用后台接口,将数据填充到下拉 ...
- 四十七 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/se ...
- 全功能Python测试框架:pytest
python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest. imag ...
- 架构设计--用户端全http參数接口具体说明v1
1. 用户端全http參数接口具体说明v1.doc 1 2. change histor 1 3. 接口通用參数说明 1 4. 函数注冊接口(规划中) 3 5. 用户权限模块 3 5.1. 用户注冊接 ...
- 重大升级!灵雀云发布全栈云原生开放平台ACP 3.0
云原生技术的发展正在改变全球软件业的格局,随着云原生技术生态体系的日趋完善,灵雀云的云原生平台也进入了成熟阶段.近日,灵雀云发布重大产品升级,推出全栈云原生开放平台ACP 3.0.作为面向企业级用户的 ...
随机推荐
- Deformable DETR:商汤提出可变型 DETR,提点又加速 | ICLR 2021 Oral
DETR能够消除物体检测中许多手工设计组件的需求,同时展示良好的性能.但由于注意力模块在处理图像特征图方面的限制,DETR存在收敛速度慢和特征分辨率有限的问题.为了缓解这些问题,论文提出了Deform ...
- 2. 从0开始学ARM-CPU原理,基于ARM的SOC讲解
关于ARM的一些基本概念,大家可以参考我之前的文章: <到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普]> 关于ARM指令用到的IDE开发 ...
- Antd-React-TreeSelect前端搜索过滤
在开发过程中,但是antd中的搜索会把多余的也会带出来 就例如下图,我们本想去搜索1但是他会把其子节点都带出来,其实我们的本意是像搜2一样或者当中间隔层处理 但是我们该如何解决这样的问题呢如何做到下面 ...
- JavaScript设计模式样例二十一 —— 解释器模式
解释器模式(Interpreter Pattern) 定义:提供了评估语言的语法或表达式的方式.目的:对于一些固定文法构建一个解释句子的解释器.场景:编译器.运算表达式计算. // 定义对于语法的断言 ...
- 带你了解 WebAssembly 的发展、应用与开发
一.WebAssembly 是什么? "WebAssembly(缩写为 Wasm)是一种基于堆栈式虚拟机的二进制指令集.Wasm 被设计成为一种编程语言的可移植编译目标,并且可以通过将其部署 ...
- 本地部署 Overleaf 服务
️ 注意:本教程只适用于 macOS / Linux 操作系统.如果需要在 Windows 上部署 Overleaf,请先安装 WSL,之后在 WSL 中部署 Overleaf . 本地部署 Over ...
- Android Adapter 添加数据,忽然变成倒序
忽然出现的问题,最后发现:因为RecyclerView 调用 setLayoutManager方法时,最后一个参数是否显示分割线为true 改为false即可
- 树状数组 java模板(纯代码)
public class TrieNums { int n; /*Nums start from 0*/ int[] storage; /*TrieNums index start from 1*/ ...
- 76.最小覆盖子串 Golang实现
题目描述: 给你一个字符串 s .一个字符串 t .返回 s 中涵盖 t 所有字符的最小子串.如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" . 注意: 对于 t ...
- Go 学习路线图
基础阶段 学习内容: 掌握 Go 的基本语法,包括变量.常量.数据类型(如整数.浮点数.字符串.布尔值.数组.切片.映射等).运算符等. 理解程序的控制流,如条件语句(if-else.switch-c ...