예제 #1
0
파일: ffcm.go 프로젝트: Centny/ffcm
func main() {
	if len(os.Args) < 2 {
		usage()
		ef(1)
		return
	}
	switch os.Args[1] {
	case "-d":
		res, err := ffcm.Dim2(os.Args[2:])
		if err == nil {
			fmt.Println(res)
		} else {
			fmt.Println(err)
			ef(1)
			return
		}
	case "-cov":
		if len(os.Args) < 11 {
			usage()
			ef(1)
			return
		}
		err := do_cov(os.Args[2:])
		if err != nil {
			fmt.Println(err)
			ef(1)
			return
		}
	case "-i":
		if len(os.Args) < 3 {
			usage()
			ef(1)
			return
		}
		var ffprobe = os.Getenv("FFPROBE_C")
		if len(ffprobe) > 0 {
			ffcm.FFPROBE_C = ffprobe
		}
		video, err := ffcm.ParseVideo(os.Args[2])
		if err == nil {
			fmt.Println(video.Width, " ", video.Height, " ", video.Duration)
		} else {
			fmt.Println(err.Error())
			ef(1)
		}
	case "-c":
		var cfg = "conf/ffcm_c.properties"
		if len(os.Args) > 2 {
			cfg = os.Args[2]
		}
		var fcfg_s = util.NewFcfg3()
		fcfg_s.InitWithFilePath2(cfg, true)
		fcfg_s.Print()
		redirect_l(fcfg_s)
		err := ffcm.RunFFCM_Cv(fcfg_s)
		fmt.Println(err)
		smartio.ResetStd()
		time.Sleep(time.Second)
	case "-mem":
		var cfg = "conf/ffcm_s.properties"
		if len(os.Args) > 2 {
			cfg = os.Args[2]
		}
		var fcfg_s = util.NewFcfg3()
		fcfg_s.InitWithFilePath2(cfg, true)
		fcfg_s.Print()
		redirect_l(fcfg_s)
		var err = ffcm.InitDtcmS(fcfg_s, dtm.MemDbc, dtm.NewDoNoneH())
		if err == nil {
			err = ffcm.RunFFCM_S_V(fcfg_s)
		}
		fmt.Println(err)
		smartio.ResetStd()
		time.Sleep(time.Second)
	case "-verify":
		if len(os.Args) < 4 {
			usage()
			ef(1)
			return
		}
		_, err := ffcm.VerifyVideo(os.Args[2], os.Args[3])
		if err == nil {
			fmt.Println("Verify Success")
			ef(0)
		} else {
			fmt.Println("Verify Fail")
			fmt.Println(err)
			ef(1)
		}
		return
	case "-s":
		var cfg = "conf/ffcm_s.properties"
		if len(os.Args) > 2 {
			cfg = os.Args[2]
		}
		var fcfg_s = util.NewFcfg3()
		fcfg_s.InitWithFilePath2(cfg, true)
		fcfg_s.Print()
		redirect_l(fcfg_s)
		var err = ffcm.InitDtcmS(fcfg_s, mdb.MdbH_dc, dtm.NewDoNoneH())
		if err == nil {
			err = ffcm.RunFFCM_S_V(fcfg_s)
		}
		fmt.Println(err)
		smartio.ResetStd()
		time.Sleep(time.Second)
	case "-g":
		if len(os.Args) < 3 {
			usage()
			ef(1)
			return
		}
		var res, err = util.HGet("%v", os.Args[2])
		if err == nil {
			fmt.Println(res)
		} else {
			fmt.Printf("request to %v error->%v\n", os.Args[2], err)
			ef(1)
		}
	default:
		usage()
		ef(1)
	}
}
예제 #2
0
파일: mdb_test.go 프로젝트: Centny/ffcm
func TestMdb(t *testing.T) {
	mgo.AddDefault2("cny:[email protected]:27017/cny")
	dbh, err := DefaultDbc("", "")
	if err != nil {
		t.Error(err.Error())
		return
	}
	dbh.(*MdbH).C().RemoveAll(nil)
	var task = &dtm.Task{
		Id: "xxx",
	}
	err = dbh.Add(task)
	if err != nil {
		t.Error(err.Error())
		return
	}
	_, err = dbh.Find(task.Id)
	if err != nil {
		t.Error(err.Error())
		return
	}
	err = dbh.Update(task)
	if err != nil {
		t.Error(err.Error())
		return
	}
	_, ts, err := dbh.List(nil, "", 0, 30)
	if err != nil {
		t.Error(err.Error())
		return
	}
	fmt.Println(ts)
	if len(ts) != 1 {
		t.Error("error")
		return
	}
	if task.Id != ts[0].Id {
		t.Error("error")
		return
	}
	err = dbh.Del(task)
	if err != nil {
		t.Error(err.Error())
		return
	}
	_, err = dbh.Find(task.Id)
	if err != nil {
		t.Error("error")
		return
	}
	_, ts, err = dbh.List(nil, "", 0, 30)
	if err != nil {
		t.Error(err.Error())
		return
	}
	if len(ts) > 0 {
		t.Error("error")
		return
	}
	//
	_, err = MdbH_dc("127.0.0.1:23442", "sdfs")
	if err == nil {
		t.Error("error")
		return
	}
	//
	DefaultDbc("uri", "name")
	//
	mgo.AddDefault("cny:[email protected]:27017/cny", "cny")
	StartTest("../ffcm_s.properties", "../ffcm_c.properties", dtm.NewDoNoneH())
	//
	time.Sleep(time.Second)
	//
	fmt.Println("done...")
}