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

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

View File

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