From 4f7ab713e2ccc9a1525bd72dc45df7f98a9e85a6 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期三, 04 十二月 2019 17:48:25 +0800
Subject: [PATCH] add new capture method: i-frame to jpg
---
capture.go | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/capture.go b/capture.go
index 7d28756..a0bcf09 100644
--- a/capture.go
+++ b/capture.go
@@ -39,6 +39,31 @@
)
// Capture pic
+func CaptureGB28181(soFile string, url string, maxTry int) ([]byte, error) {
+
+ var ret []byte
+ var err error
+
+ err = goffmpeg.InitFFmpeg(soFile)
+ if err != nil {
+ return nil, err
+ }
+
+ reterr := errors.New(fmt.Sprintf("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
+ }
+ }
+
+ goffmpeg.FreeFFmpeg()
+
+ return ret, reterr
+}
+
+// Capture pic
func Capture(soFile string, m StreamMode, url string, ext PicExt, w, h, maxTry int) ([]byte, error) {
if m != GB28181 && m != Rtsp {
return nil, errors.New("there is no this mode, try capture.Rtsp/capture.GB28181")
--
Gitblit v1.8.0