zhangmeng
2021-05-25 248098673dd7dad8b726c311f8c54e504cb0c0e8
maxTry is second
1个文件已修改
25 ■■■■ 已修改文件
capture.go 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
capture.go
@@ -5,8 +5,9 @@
    "fmt"
    "time"
    "basic.com/valib/godraw.git"
    "basic.com/valib/goffmpeg.git"
    "basic.com/valib/godraw.git"
    "github.com/disintegration/imaging"
)
@@ -50,13 +51,13 @@
    }
    reterr := errors.New(fmt.Sprintf("gb28181 try %d times to capture image, is url correct?", maxTry))
    for i := 0; i < maxTry; i++ {
        ret = goffmpeg.GetGBJpg(url)
        if len(ret) > 0 {
            reterr = nil
            break
        }
    // for i := 0; i < maxTry; i++ {
    ret = goffmpeg.GetGBJpg(url, maxTry)
    if len(ret) > 0 {
        reterr = nil
        // break
    }
    // }
    goffmpeg.FreeFFmpeg()
@@ -105,11 +106,9 @@
    gf.BuildDecoder()
    tryTime := 0
    interval := 40 // ms
    // 保证有一个关键帧
    maxTry += 50
    if maxTry > 60 {
        maxTry = 60
    }
    maxTry *= 1000
    var bgrData, jpgData []byte
    var err error
@@ -131,11 +130,11 @@
            }
            break
        } else {
            tryTime++
            tryTime += interval
            if tryTime > maxTry {
                break
            }
            time.Sleep(800 * time.Millisecond)
            time.Sleep(time.Duration(interval) * time.Millisecond)
        }
    }