Live video on the AT Protocol
1package cmd
2
3import (
4 "context"
5 "flag"
6 "strings"
7
8 "github.com/golang/glog"
9 "github.com/livepeer/go-livepeer/cmd/livepeer/starter"
10 "stream.place/streamplace/pkg/config"
11)
12
13func GoLivepeer(ctx context.Context, fs *flag.FlagSet) error {
14 lpfs := flag.NewFlagSet("livepeer", flag.ExitOnError)
15 cfg := starter.NewLivepeerConfig(lpfs)
16 fs.VisitAll(func(f *flag.Flag) {
17 if !strings.HasPrefix(f.Name, "livepeer.") {
18 return
19 }
20 name := strings.TrimPrefix(f.Name, "livepeer.")
21 adapted := config.LivepeerFlags.SnakeToCamel[name]
22
23 if adapted == "" {
24 panic("unknown livepeer flag: " + name)
25 }
26 err := lpfs.Set(adapted, f.Value.String())
27 if err != nil {
28 panic(err)
29 }
30 })
31
32 err := flag.Set("logtostderr", "true")
33 if err != nil {
34 return err
35 }
36 vFlag := flag.Lookup("v")
37 err = vFlag.Value.Set("3")
38 if err != nil {
39 return err
40 }
41
42 // Config file
43 // err = ff.Parse(fs, args,
44 // ff.WithConfigFileFlag("config"),
45 // ff.WithEnvVarPrefix("SP_LIVEPEER"),
46 // )
47 if err != nil {
48 glog.Exit("Error parsing config: ", err)
49 }
50
51 cfg = starter.UpdateNilsForUnsetFlags(cfg)
52
53 starter.StartLivepeer(ctx, cfg)
54
55 return nil
56}