sunty
2019-07-22 49bea897a567d059e159509340ce8c68fad56a1c
service/CamraUpdatesnashot.go
@@ -1,25 +1,26 @@
package service
import (
   "flag"
   "fmt"
   "os"
   "os/exec"
   "strconv"
   "time"
   "webserver/extend/config"
   "bytes"
   "encoding/json"
   "errors"
   "flag"
   "fmt"
   "gocv.io/x/gocv"
   "io"
   "log"
   "mime/multipart"
   "net/http"
   "os"
   "os/exec"
   "path/filepath"
   "strconv"
   "time"
   "webserver/extend/config"
   "webserver/extend/esutil"
   "basic.com/dbapi.git"
   "basic.com/valib/capture.git"
)
func PostFormBufferData(uri string, filepath string, fileName string) (maps map[string]interface{}, err0 error) {
@@ -143,3 +144,35 @@
   }
   return filename, nil
}
//调用统一接口,刷新底图(集成国标底图刷新)
func UpdateCapture(cid string) (fileName string,err error){
   var cameraApi dbapi.CameraApi
   camera, err := cameraApi.GetCameraById(cid)
   if err !=nil{
      return "",errors.New("camera not exist")
   }
   m := capture.Rtsp
   if camera.Type == 1{//国标摄像机
      m = capture.GB28181
   }
   b,err := capture.Capture("./runtime/libcffmpeg.so",m,camera.Rtsp,capture.JPEGFileExt,1280,720,10)
   if err == nil{
      var weedfsUri = "http://"+config.WeedFs.Ip+":"+strconv.Itoa(config.WeedFs.UploadPort)+"/submit"
      resp, err := esutil.PostFormBufferData(weedfsUri, camera.Name+".jpg", "file", b)
      if err != nil {
         return "",err
      } else {
         fileurl := resp["fileUrl"].(string) // 文件路径
         filename := filepath.Base(fileurl)
         ok := cameraApi.UpdateSnapshotUrl(cid, filename)
         if !ok {
            return "", errors.New("update camera's snapshot fail")
         }
         return filename, nil
      }
   }else{
      return "",err
   }
}