package rtsp import ( "log" "strings" "time" "go.uber.org/zap" ) // lastPartURI returns the last part of the URI after "/". func lastPartURI(URI string) (CutURI string) { split := strings.Split(URI, "/") return split[len(split)-1] } // waitPeriod waits for the next period. func waitPeriod(period int, cam *zap.Logger) { periodTD := time.Duration(period) * time.Second now := time.Now() nextSegment := now.Truncate(periodTD).Add(periodTD) waitDuration := nextSegment.Sub(now) cam.Info("waiting for start recording:", zap.Duration("time", waitDuration)) log.Println("waiting for start recording: ", waitDuration) time.Sleep(waitDuration) } // findResolution finds resolution in SDP. func findResolution(Body []byte) string { split := strings.Split(string(Body), "\r\n") for _, line := range split { if strings.Contains(line, "a=x-dimensions:") { s, _ := strings.CutPrefix(line, "a=x-dimensions:") resolution := strings.Join(strings.Split(s, ","), "-") return resolution } } return "resolution" }