From 5e85a7e80764e1a1eae39c8ce9bafed29d8773a9 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期二, 23 七月 2019 19:57:27 +0800 Subject: [PATCH] 增加支持推流的代码,并替换librtspclient.so --- goffmpeg.go | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/goffmpeg.go b/goffmpeg.go index 33869c0..b8739f8 100644 --- a/goffmpeg.go +++ b/goffmpeg.go @@ -59,24 +59,36 @@ } } +// Config config +type Config struct { + Scale int + Width int + Height int + GB bool + CPU bool +} + // GoFFMPEG handle for c type GoFFMPEG struct { ffmpeg C.cffmpeg } -// New create handle -func New() *GoFFMPEG { - return &GoFFMPEG{ - ffmpeg: C.wrap_fn_create(), - } -} - -// NewWithScale scale out pic -func NewWithScale(w, h int, flag int) *GoFFMPEG { +// New 2nd new +func New(conf Config) *GoFFMPEG { f := C.wrap_fn_create() - if f != nil { - C.wrap_fn_scale(f, C.int(w), C.int(h), C.int(flag)) + if f == nil { + return nil } + if conf.Scale != 0 && conf.Width != 0 && conf.Height != 0 { + C.wrap_fn_scale(f, C.int(conf.Width), C.int(conf.Height), C.int(conf.Scale)) + } + if conf.GB { + C.wrap_fn_run_gb28181(f) + } + if conf.CPU { + C.wrap_fn_use_cpu(f) + } + return &GoFFMPEG{ ffmpeg: f, } -- Gitblit v1.8.0