使用分离方式,修改视频流返回方式

This commit is contained in:
lijun 2025-01-18 19:32:07 +08:00
parent 529d6b9282
commit 09e3dce33a
2 changed files with 5 additions and 4 deletions

View File

@ -10,7 +10,6 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt" "github.com/golang-jwt/jwt"
"github.com/robfig/cron/v3" "github.com/robfig/cron/v3"
"gocv.io/x/gocv"
"log" "log"
"runtime" "runtime"
"strconv" "strconv"
@ -71,12 +70,13 @@ func init() {
if err != nil { if err != nil {
panic("failed to read config file:" + err.Error()) panic("failed to read config file:" + err.Error())
} }
service.DeviceFrameCount = make(map[int]int)
for _, device := range proto.Config.DeviceInfo { for _, device := range proto.Config.DeviceInfo {
//service.DeviceRWMap[device.ID] = sync.RWMutex{} //service.DeviceRWMap[device.ID] = sync.RWMutex{}
//service.DeviceCurrentFrameMap[device.ID] = gocv.NewMat() //service.DeviceCurrentFrameMap[device.ID] = gocv.NewMat()
//service.DeviceIsGettingFrame[device.ID] = false //service.DeviceIsGettingFrame[device.ID] = false
service.DeviceRWMap.Store(device.ID, &sync.RWMutex{}) service.DeviceRWMap.Store(device.ID, &sync.RWMutex{})
service.DeviceCurrentFrameMap.Store(device.ID, gocv.NewMat()) //service.DeviceCurrentFrameMap.Store(device.ID, gocv.NewMat())
service.DeviceFrameCount[device.ID] = 0 service.DeviceFrameCount[device.ID] = 0
service.DeviceIsGettingFrame.Store(device.ID, false) service.DeviceIsGettingFrame.Store(device.ID, false)
} }
@ -99,7 +99,7 @@ func ReadConfigAndSetSystem() {
if !ok { if !ok {
//说明没有这个设备,需初始化添加 //说明没有这个设备,需初始化添加
service.DeviceRWMap.Store(device.ID, &sync.RWMutex{}) service.DeviceRWMap.Store(device.ID, &sync.RWMutex{})
service.DeviceCurrentFrameMap.Store(device.ID, gocv.NewMat()) //service.DeviceCurrentFrameMap.Store(device.ID, gocv.NewMat())
service.DeviceFrameCount[device.ID] = 0 service.DeviceFrameCount[device.ID] = 0
service.DeviceIsGettingFrame.Store(device.ID, false) service.DeviceIsGettingFrame.Store(device.ID, false)
} }

View File

@ -15,7 +15,8 @@ import (
) )
var DeviceRWMap = &sync.Map{} var DeviceRWMap = &sync.Map{}
var DeviceCurrentFrameMap = &sync.Map{}
// var DeviceCurrentFrameMap = &sync.Map{}
var DeviceFrameCount map[int]int var DeviceFrameCount map[int]int
var DeviceIsGettingFrame = &sync.Map{} var DeviceIsGettingFrame = &sync.Map{}
var Device1CurrentFrame gocv.Mat var Device1CurrentFrame gocv.Mat