微信小程序\推拉流

This commit is contained in:
2025-12-15 21:57:21 +08:00
parent 2fca6e5c43
commit 73c2073cf1
14 changed files with 2545 additions and 421 deletions

View File

@@ -18,11 +18,12 @@ import (
// MediaServer 媒体服务器主结构
type MediaServer struct {
sfu *SFUServer // WebRTC SFU 服务
rtmp *RTMPServer // RTMP 服务
rooms map[string]*Room // 通话房间管理
mu sync.RWMutex // 房间锁
config *MediaServerConfig // 配置
sfu *SFUServer // WebRTC SFU 服务
rtmp *RTMPServer // RTMP 服务
wsProxy *WebMToRTMPProxy // WebSocket to RTMP 代理
rooms map[string]*Room // 通话房间管理
mu sync.RWMutex // 房间锁
config *MediaServerConfig // 配置
}
// MediaServerConfig 媒体服务器配置
@@ -65,6 +66,8 @@ func newMediaServer() *MediaServer {
if config.Enabled {
ms.sfu = NewSFUServer(config)
ms.rtmp = NewRTMPServer(config)
// 创建 WebSocket to RTMP 代理
ms.wsProxy = NewWebMToRTMPProxy(ms.rtmp)
}
return ms
@@ -208,6 +211,11 @@ func (ms *MediaServer) GetRTMP() *RTMPServer {
return ms.rtmp
}
// GetWSProxy 获取 WebSocket to RTMP 代理
func (ms *MediaServer) GetWSProxy() *WebMToRTMPProxy {
return ms.wsProxy
}
// GetRoomCount 获取房间数量
func (ms *MediaServer) GetRoomCount() int {
ms.mu.RLock()