zhangmeng
2021-05-25 82cb753cf8539f4b3adc3f34558268711a90d8ee
recover
1个文件已修改
21 ■■■■ 已修改文件
capture.go 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
    }