前言

视频会议、在线教育、直播娱乐还是远程监控,流媒体平台的性能和稳定性直接影响着用户体验。

给大家推荐一个基于 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 全功能流媒体管理控制接口平台的更多相关文章

  1. EasyPlayer开源流媒体移动端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版

    EasyPlayerPro介绍 Android EasyPlayerPro专业版全功能播放器,是由EasyDarwin开源团队维护的一款支持RTSP.RTMP.HTTP.HLS多种流媒体协议的播放器版 ...

  2. 116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 光纤PCIe卡

    基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 一.板卡概述 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡.由一片Xilinx公司的XC5VLX110T-1FF113 ...

  3. APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念

    近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. ...

  4. Swift 全功能的绘图板开发

    要做一个全功能的绘图板,至少要支持以下这些功能: 支持铅笔绘图(画点) 支持画直线 支持一些简单的图形(矩形.圆形等) 做一个真正的橡皮擦 能设置画笔的粗细 能设置画笔的颜色 能设置背景色或者背景图 ...

  5. 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

    第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...

  6. vue中实现中,自动补全功能

    知识点:利用vue的基本语法实现,自动补全功能 参考博客:https://www.jb51.net/article/136282.htm 效果:在文本框中,输入相关名称,调用后台接口,将数据填充到下拉 ...

  7. 四十七 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

    elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/se ...

  8. 全功能Python测试框架:pytest

    python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest.   imag ...

  9. 架构设计--用户端全http參数接口具体说明v1

    1. 用户端全http參数接口具体说明v1.doc 1 2. change histor 1 3. 接口通用參数说明 1 4. 函数注冊接口(规划中) 3 5. 用户权限模块 3 5.1. 用户注冊接 ...

  10. 重大升级!灵雀云发布全栈云原生开放平台ACP 3.0

    云原生技术的发展正在改变全球软件业的格局,随着云原生技术生态体系的日趋完善,灵雀云的云原生平台也进入了成熟阶段.近日,灵雀云发布重大产品升级,推出全栈云原生开放平台ACP 3.0.作为面向企业级用户的 ...

随机推荐

  1. 微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3 荐

    微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...

  2. 信创环境:鲲鹏ARM+麒麟V10离线部署K8s和Rainbond信创平台

    在上篇<国产化信创开源云原生平台>文章中,我们介绍了 Rainbond 作为可能是国内首个开源国产化信创平台,在支持国产化和信创方面的能力,并简要介绍了如何在国产化信创环境中在线部署 Ku ...

  3. brpc linux 下编译构建

    brpc 在 linux 下编译构建,比在 mac 下还要更复杂些,mac 下可以走官方说明编译成功,过程中也需要进行一些配置调整. 在 linux 通过 bazel 最终实现了 brpc 编译通过. ...

  4. Ruby 学习笔记

    基本语法 变量 name = "Alice" age = 30 puts "Name: #{name}, Age: #{age}" var # 局部变量 @va ...

  5. 用描述程序的方式emo,扎心了...

    用描述程序的方式emo,扎心了... 众所周知写程序是个枯燥无聊的过程,再加上生活的不顺与坎坷,当程序语言与emo结合起来,看谁还说程序员不懂感情! 首当其冲的就是循环语句了 世界上最寂寞的感觉,是我 ...

  6. DataV兼容vue3的方法

    发现问题 在使用vue开发大屏时,发现了一个很好用的可视化组件库DataV,不是阿里那个DataV哈,用vue2开发时都一切顺利,直到有一天升级项目到vue3时,发现一堆报错,后面查了下,好像是Dat ...

  7. 6.12Web应用漏洞发现探针利用

    已知CMS.开发框架. 思路: 各个页面查看数据包(地址信息),查看框架,上fofa关键字搜索(查看其框架信息如thinkhphp),利用检测工具测试漏洞情况: 网站根目录下的robots.txt文件 ...

  8. DVI与VGA有什么区别?

    DVI接口:DVI(Digital Visual Interface),即数字视频接口.DVI接口速度快.画面清晰.支持HDCP协议. VGA接口:VGA(Video Graphics Array)即 ...

  9. Angular Material 18+ 高级教程 – CDK Accessibility の ListKeyManager

    介绍 ListKeyManager 的作用是让我们通过 keyboard 去操作 List Items. 一个典型的例子:Menu 有 4 个步骤: tab to menu enter 打开 menu ...

  10. OpenSSL证书通过Subject Alternative Name扩展字段扩展证书支持的域名

    1.概述 1.1 什么是Subject Alternative Name(证书主体别名) SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展.它允 ...