zhangmeng
2021-05-25 82cb753cf8539f4b3adc3f34558268711a90d8ee
capture.go
@@ -5,9 +5,8 @@
   "fmt"
   "time"
   "basic.com/valib/goffmpeg.git"
   "basic.com/valib/godraw.git"
   "basic.com/valib/goffmpeg.git"
   "github.com/disintegration/imaging"
)
@@ -44,7 +43,6 @@
   var ret []byte
   var err error
   var flag int
   err = goffmpeg.InitFFmpeg(soFile)
   if err != nil {
@@ -53,10 +51,12 @@
   reterr := fmt.Errorf("gb28181 try %d times to capture image, is url correct?", maxTry)
   // for i := 0; i < maxTry; i++ {
   ret, flag = goffmpeg.GetGBJpg(url, maxTry)
   if flag <= 0 {
      reterr = fmt.Errorf("gb28181 GetGBJpg failed %d", flag)
   ret = goffmpeg.GetGBJpg(url, maxTry)
   if len(ret) > 0 {
      reterr = nil
      // break
   }
   // }
   goffmpeg.FreeFFmpeg()
@@ -105,9 +105,8 @@
   gf.BuildDecoder()
   tryTime := 0
   interval := 40 // ms
   // 保证有一个关键帧
   maxTry *= 1000
   maxTry = maxTry * 1000
   var bgrData, jpgData []byte
   var err error
@@ -129,16 +128,16 @@
         }
         break
      } else {
         tryTime += interval
         tryTime += 40
         if tryTime > maxTry {
            break
         }
         time.Sleep(time.Duration(interval) * time.Millisecond)
         time.Sleep(40 * time.Millisecond)
      }
   }
   if tryTime >= maxTry {
      err := fmt.Sprintf("try %d ms to capture image, is url correct?\n", tryTime)
      err := fmt.Sprintf("try %d times to capture image, is url correct?\n", tryTime)
      return nil, errors.New(err)
   }