From 0e021985f483e593c6ef872b8bcbe299566c7dd2 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期二, 03 十二月 2019 15:32:18 +0800 Subject: [PATCH] 增加获取国标图片接口 --- goffmpeg.go | 34 ++++++++++++++++++++++++++-------- 1 files changed, 26 insertions(+), 8 deletions(-) diff --git a/goffmpeg.go b/goffmpeg.go index dedb2bf..a2f46bc 100644 --- a/goffmpeg.go +++ b/goffmpeg.go @@ -42,16 +42,16 @@ // New 2nd new func New(GB, CPU bool) *GoFFMPEG { - f := C.wrap_fn_create() + f := C.wrap_fn_create(unsafe.Pointer(libcffmpeg)) if f == nil { return nil } if GB { - C.wrap_fn_run_gb28181(f) + C.wrap_fn_run_gb28181(unsafe.Pointer(libcffmpeg), f) } if CPU { - C.wrap_fn_use_cpu(f) + C.wrap_fn_use_cpu(unsafe.Pointer(libcffmpeg), f) } return &GoFFMPEG{ @@ -64,15 +64,15 @@ lf := C.CString(ffmpegLog) defer C.free(unsafe.Pointer(lf)) - f := C.wrap_fn_create2(lf) + f := C.wrap_fn_create2(unsafe.Pointer(libcffmpeg), lf) if f == nil { return nil } if GB { - C.wrap_fn_run_gb28181(f) + C.wrap_fn_run_gb28181(unsafe.Pointer(libcffmpeg), f) } if CPU { - C.wrap_fn_use_cpu(f) + C.wrap_fn_use_cpu(unsafe.Pointer(libcffmpeg), f) } return &GoFFMPEG{ @@ -83,7 +83,7 @@ // Free free handle func (h *GoFFMPEG) Free() { if h.ffmpeg != nil { - C.wrap_fn_destroy(h.ffmpeg) + C.wrap_fn_destroy(unsafe.Pointer(libcffmpeg), h.ffmpeg) } } @@ -92,5 +92,23 @@ in := C.CString(input) defer C.free(unsafe.Pointer(in)) - C.wrap_fn_run(h.ffmpeg, in) + C.wrap_fn_run(unsafe.Pointer(libcffmpeg), h.ffmpeg, in) } + +// FPS fps +func (h *GoFFMPEG) FPS() int { + return int(C.wrap_fn_fps(unsafe.Pointer(libcffmpeg), h.ffmpeg)) +} + +// GetGBJpg Get GB28181 Jpg +func GetGBJpg(rtspUrl string) []byte { + rtsp := C.CString(rtspUrl) + defer C.free(unsafe.Pointer(rtsp)) + var jpgLen C.int + + pic := C.wrap_fn_get_gb28181_pic(unsafe.Pointer(libcffmpeg), rtsp, &jpgLen) + defer C.free(unsafe.Pointer(pic)) + + retJpg := C.GoBytes(unsafe.Pointer(pic), jpgLen) + return retJpg +} \ No newline at end of file -- Gitblit v1.8.0