video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-07-19 e6725cb3cf4ced3a6985d4d3db4d5cf1336a30d8
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,
   }