.NET 全功能流媒體管理控制介面平臺

小码编匠發表於2024-11-07

前言

視訊會議、線上教育、直播娛樂還是遠端監控,流媒體平臺的效能和穩定性直接影響著使用者體驗。

給大家推薦一個基於 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和業務邏輯功能。

.NET 全功能流媒體管理控制介面平臺

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 裝置到資料庫,並可檢視裝置列表資訊。

.NET 全功能流媒體管理控制介面平臺

裝置操作:支援裝置的新增、編輯、刪除和啟用功能。

.NET 全功能流媒體管理控制介面平臺

影片預覽

線上預覽:支援裝置的線上影片預覽功能。

.NET 全功能流媒體管理控制介面平臺

流媒體服務管理

服務控制:提供流媒體服務的啟動、重啟、停止功能,並支援檢視服務詳情和熱載入配置檔案。

.NET 全功能流媒體管理控制介面平臺

.NET 全功能流媒體管理控制介面平臺

專案地址

GitHub:https://github.com/chatop2020/AKStream

Gitee:https://gitee.com/chatop2020/AKStream

最後

如果你覺得這篇文章對你有幫助,不妨點個贊支援一下!你的支援是我繼續分享知識的動力。如果有任何疑問或需要進一步的幫助,歡迎隨時留言。

也可以加入微信公眾號[DotNet技術匠] 社群,與其他熱愛技術的同行一起交流心得,共同成長!優秀是一種習慣,歡迎大家留言學習!

相關文章