stydb
2019-12-03 6d6e6d425c4fe63a487ff27be9341671b2c1dd93
main.go
@@ -6,7 +6,7 @@
   "time"
   "track/gohumantrack"
   "track/goconv"
   "basic.com/valib/goffmpeg.git"
)
@@ -19,43 +19,26 @@
   flag.StringVar(&url1, "cam1", "", "url")
   flag.StringVar(&url2, "cam2", "", "url")
}
func main() {
   flag.Parse()
   fmt.Println("url1: ", url1, " url2: ", url2)
   if len(url1) == 0 || len(url2) == 0 {
      fmt.Println("url null")
   }
   tracker := gohumantrack.NewHumanTracker(0, 2, 0)
   fmt.Println("version: ", tracker.GetVersion())
   goffmpeg.InitFFmpeg("./runtime/libcffmpeg.so")
   cam1 := goffmpeg.New(false, false)
   cam1.Run(url1)
   cam1.BuildDecoder()
   cam1.CloseStream()
   cam2 := goffmpeg.New(false, false)
   cam2.Run(url2)
   cam2.BuildDecoder()
   cam2.CloseStream()
   for {
func run(cam1, cam2 *goffmpeg.GoFFMPEG, tracker *gohumantrack.HumanTracker) bool {
      data1, ow1, oh1, _ := cam1.GetYUV()
      data2, ow2, oh2, _ := cam2.GetYUV()
      if ow1 > 0 && oh1 > 0 && ow2 > 0 && oh2 > 0 {
      bgr1 := goconv.YUV2BGR(data1, ow1, oh1)
      bgr2 := goconv.YUV2BGR(data2, ow2, oh2)
      if bgr1 == nil || bgr2 == nil{
         return false
      }
         var images []gohumantrack.ImageHumanTracker
         img := gohumantrack.ImageHumanTracker{
            Data:    data1,
         Data:    bgr1,
            Width:   ow1,
            Height:  oh1,
            Channel: 3,
         }
         images = append(images, img)
         img = gohumantrack.ImageHumanTracker{
            Data:    data2,
         Data:    bgr2,
            Width:   ow2,
            Height:  oh2,
            Channel: 3,
@@ -79,8 +62,35 @@
         } else {
            fmt.Println("process error: ", err)
         }
      } else {
         //         fmt.Println("cam1 size: ", ow1, "x", oh1, " cam2 size: ", ow2, "x", oh2)
      return true
   }
   return false
}
func main() {
   flag.Parse()
   fmt.Println("url1: ", url1, " url2: ", url2)
   if len(url1) == 0 || len(url2) == 0 {
      fmt.Println("url null")
   }
   tracker := gohumantrack.NewHumanTracker(0, 2, 0)
   fmt.Println("version: ", tracker.GetVersion())
   goffmpeg.InitFFmpeg("./runtime/libcffmpeg.so")
   cam1 := goffmpeg.New(false, false)
   cam1.Run(url1)
   cam1.BuildDecoder()
   cam1.CloseStream()
   cam2 := goffmpeg.New(false, false)
   cam2.Run(url2)
   cam2.BuildDecoder()
   cam2.CloseStream()
   for {
      if !run(cam1, cam2, tracker){
         time.Sleep(38 * time.Millisecond)
      }