Compare commits

..

3 commits

Author SHA1 Message Date
31e91a0fa1 put videos under a semaphore 2026-05-22 22:27:42 -03:00
56cfdb5e17 tweak video curve 2026-01-11 19:42:16 -03:00
474ae1479c Merge pull request 'convert to go' (#3) from convert-go into mistress
Reviewed-on: #3
2026-01-11 22:32:28 +00:00
2 changed files with 10 additions and 4 deletions

View file

@ -74,6 +74,7 @@ type WD14Caption struct {
var (
config *Config
httpClient = &http.Client{}
videoSem = make(chan struct{}, 1)
)
func loadConfig() (*Config, error) {
@ -294,6 +295,11 @@ func handleImage(w http.ResponseWriter, data []byte, fileName, contentType, thre
}
func handleVideo(w http.ResponseWriter, data []byte, fileName, threshold string) {
slog.Info("waiting for video processing slot", "queued", len(videoSem))
videoSem <- struct{}{}
defer func() { <-videoSem }()
slog.Info("acquired video processing slot")
// Write video to temp file
ext := filepath.Ext(fileName)
tmpFile, err := os.CreateTemp("", "glimbus-video-*"+ext)

View file

@ -198,14 +198,14 @@ func getFrameSkipSeconds(totalSeconds int) int {
case totalSeconds <= 60:
return 5
case totalSeconds <= 120:
return 10
return 7
case totalSeconds <= 300:
return 12
return 10
case totalSeconds <= 1000:
return 15
case totalSeconds <= 1200:
return 40
return 20
default:
return 60
return 26
}
}