| 123456789101112131415161718192021222324252627282930313233 |
- package system
- import (
- "github.com/gin-gonic/gin"
- "server/api/v1/system"
- )
- // StreamRouter 流媒体路由结构体
- type StreamRouter struct{}
- // 全局API实例
- var streamApi = &system.StreamApi{}
- // InitStreamRouter 初始化流媒体路由
- func (s *StreamRouter) InitStreamRouter(Router *gin.RouterGroup, RouterPub *gin.RouterGroup) {
- // 私有路由(需JWT鉴权):流控制接口
- streamRouter := Router.Group("stream")
- // 公开路由(无需鉴权):播放HLS流
- streamPublicRouter := RouterPub.Group("stream")
- {
- // 公开路由:播放HLS流,支持.m3u8索引文件和.ts视频切片
- streamPublicRouter.GET("/hls/:streamId/*any", streamApi.PlayHLS)
- }
- {
- // 私有路由:流控制接口
- streamRouter.POST("/start", streamApi.StartStream) // 启动RTSP转HLS流
- streamRouter.POST("/stop", streamApi.StopStream) // 停止流转换
- streamRouter.GET("/list", streamApi.GetStreamList) // 获取活跃流列表
- }
- }
|