| | |
| | | |
| | | import ( |
| | | "encoding/xml" |
| | | "fmt" |
| | | "io/ioutil" |
| | | |
| | | "gat1400Exchange/pkg/logger" |
| | | |
| | | dac "github.com/xinsnake/go-http-digest-auth-client" |
| | | ) |
| | |
| | | cameraWebPassword = "a1234567" |
| | | ) |
| | | |
| | | var overlayText textOverlay |
| | | var overlayText TextOverlay |
| | | |
| | | type textOverlay struct { |
| | | type TextOverlay struct { |
| | | Id int64 `xml:"id"` |
| | | Enabled bool `xml:"enabled"` |
| | | PositionX int64 `xml:"positionX"` |
| | |
| | | return ioutil.ReadAll(resp.Body) |
| | | } |
| | | |
| | | func addFloorToOSD(osdText string) { |
| | | func addFloorToOSD(osdText string) error { |
| | | overlay7Url := cameraWebAddr + hikISAPIOverlay7SetUrl |
| | | |
| | | // 获取左下角第一个字符的位置 |
| | | if overlayText.DisplayText == "" { |
| | | rsp, err := hikISAPIRequest(cameraWebUser, cameraWebPassword, "GET", overlay7Url, "") |
| | | if err != nil { |
| | | logger.Warn("Get osd info failure") |
| | | return |
| | | return fmt.Errorf("get osd info. %s", err.Error()) |
| | | } |
| | | |
| | | err = xml.Unmarshal(rsp, &overlayText) |
| | | if err != nil { |
| | | logger.Warn("%s", err.Error()) |
| | | return |
| | | return fmt.Errorf("xml unmarshal. %s", err.Error()) |
| | | } |
| | | } |
| | | |
| | | if overlayText.DisplayText == osdText { |
| | | return |
| | | return nil |
| | | } |
| | | |
| | | overlayText.DisplayText = osdText |
| | | body, _ := xml.Marshal(overlayText) |
| | | _, err := hikISAPIRequest(cameraWebUser, cameraWebPassword, "PUT", overlay7Url, string(body)) |
| | | if err != nil { |
| | | logger.Warn("Camera osd set failure!!") |
| | | return |
| | | return fmt.Errorf("set osd. %s", err.Error()) |
| | | } |
| | | |
| | | return nil |
| | | } |