123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package http
- import (
- "net/http"
- "go-common/app/service/video/stream-mng/conf"
- "go-common/app/service/video/stream-mng/middleware"
- "go-common/app/service/video/stream-mng/service"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/http/blademaster/middleware/auth"
- "go-common/library/net/http/blademaster/middleware/verify"
- )
- var (
- srv *service.Service
- vfy *verify.Verify
- authSvr *auth.Auth
- )
- // Init init
- func Init(c *conf.Config, svc *service.Service) {
- srv = svc
- vfy = verify.New(c.Verify)
- authSvr = auth.New(c.Auth)
- engine := bm.DefaultServer(c.BM)
- engine.Use(middleware.Logger())
- route(engine)
- if err := engine.Start(); err != nil {
- log.Error("bm Start error(%v)", err)
- panic(err)
- }
- }
- func route(e *bm.Engine) {
- e.Ping(ping)
- e.Register(register)
- g := e.Group("/video/stream-mng")
- {
- g.GET("/", alive)
- g.POST("/stream/backup", createBackupStream)
- g.POST("/stream/offical", createOfficalStream)
- g.POST("/stream/validate", streamValidate)
- g.GET("/stream/old/getbyroomid", getOldStreamInfoByRoomID)
- g.GET("/stream/old/getbyname", getOldStreamInfoByStreamName)
- g.GET("/notifymaskbyroomid", saveMaskByRoomID) //控制一个主流是否需要转蒙版直播流
- g.GET("/notifymaskbystreamname", saveMaskByStreamName) //控制一个主流是否可提供蒙版给PLAYURL
- g.POST("/addhotstream", addHotStream) //增加热流到redis
- g.GET("/getstream", getStream)
- g.GET("/getmultistreams", getMultiStreams)
- g.GET("/stream/getRoomIdByStreamName", getRoomIDByStreamName)
- g.GET("/stream/getStreamNameByRoomId", getStreamNameByRoomID)
- g.POST("/stream/changeSrc", changeSrc)
- g.GET("/stream/cut", cutStream)
- g.GET("/stream/cutmobilestream", authSvr.User, cutStreamByMobile)
- g.GET("/stream/getLastTime", getStreamLastTime)
- g.GET("/stream/getAdapterStream", getAdapterStreamByStreamName)
- g.GET("/stream/getSrcByRoomID", getSrcByRoomID)
- g.GET("/stream/getLineListByRoomID", getLineListByRoomID)
- g.GET("/shot/getSinglePic", getSingleScreenShot)
- g.GET("/shot/getMultiPic", getMultiScreenShot)
- g.GET("/shot/getOriginPic", getOriginScreenShotPic)
- g.GET("/shot/getperiodpic", getTimePeriodScreenShot)
- g.POST("/stream/clearstreamstatus", clearStreamStatus)
- g.GET("/stream/getRoomRtmp", getRoomRtmp) // 拜年祭推流码
- g.GET("/stream/getUpStreamRtmp", getUpStreamRtmp) // 后台调用,无需鉴权
- g.GET("/stream/getmobilertmp", authSvr.User, getMobileRtmp) // 移动端调用
- g.GET("/stream/getwebrtmp", authSvr.User, getWebRtmp) // 被web端和pc_link调用
- g.GET("/stream/live", checkLiveStreamList)
- // 删除room_id缓存的接口,防止缓存问题出现的bug
- g.GET("/stream/clearcache", clearRoomCacheByRID)
- // 查询更改记录
- g.GET("/change/getchangeLog", getChangeLogByRoomID)
- // 查询统计上行调度信息
- g.GET("/summary/upstream", getSummaryUpStreamRtmp)
- g.GET("/summary/isp", getSummaryUpStreamISP)
- g.GET("/summary/country", getSummaryUpStreamCountry)
- g.GET("/summary/platform", getSummaryUpStreamPlatform)
- g.GET("/summary/city", getSummaryUpStreamCity)
- }
- g2 := e.Group("/live_stream/v1/StreamThird")
- {
- g2.POST("/stream_validate", streamValidate)
- g2.POST("/open_notify", openNotify)
- g2.POST("/close_notify", closeNotify)
- }
- g7 := e.Group("/live_stream/v1/StreamList")
- {
- g7.GET("/get_stream_by_roomId", authSvr.User, getWebRtmp)
- }
- g8 := e.Group("/live_stream/v1/UpStreamExt")
- {
- g8.GET("/get_by_room", authSvr.User, getMobileRtmp)
- g8.GET("/pause_by_room", authSvr.User, cutStreamByMobile)
- }
- }
- func ping(c *bm.Context) {
- if err := srv.Ping(c); err != nil {
- log.Error("ping error(%v)", err)
- c.AbortWithStatus(http.StatusServiceUnavailable)
- }
- }
- func register(c *bm.Context) {
- c.JSON(map[string]interface{}{}, nil)
- }
- func alive(c *bm.Context) {
- c.String(0, "Golang 大法好 !!!")
- }
|