text overlay x & y pos as params

This commit is contained in:
Dmitry Sergeev
2026-09-15 19:16:15 +03:00
parent 38016f0d04
commit 72939c3be7
2 changed files with 27 additions and 5 deletions
+22 -2
View File
@@ -31,7 +31,10 @@ type appArgs struct {
audioFlowDefFile string
pattern string
listPatterns bool
textOverlay string
textOverlay string
overlayX int
overlayY int
videoWidth uint
videoHeight uint
@@ -249,7 +252,11 @@ func flagSetAddFlags(fs *pflag.FlagSet, args *appArgs) {
// Video pattern flags
fs.StringVarP(&args.pattern, "pattern", "p", "bars", "Video pattern type")
fs.BoolVar(&args.listPatterns, "list-patterns", false, "List video available video patterns and exit")
fs.StringVarP(&args.textOverlay, "text", "t", "", "Text overlay above video pattern")
fs.IntVar(&args.overlayX, "text-x", 0, "Text overlay X position in px")
fs.IntVar(&args.overlayY, "text-y", 0, "Text overlay Y position in px")
fs.UintVar(&args.videoWidth, "width", 1920, "Video pattern width")
fs.UintVar(&args.videoHeight, "height", 1080, "Video pattern height")
fs.StringVar(&args.videoFPS, "fps", "25", "Video pattern FPS")
@@ -341,7 +348,20 @@ func main() {
log.Fatalf("text overlay init failed: %v", err)
}
defer face.Close()
overlay, err = generator.NewTextOverlay(args.textOverlay, int(vi.width), int(vi.height), face)
if args.overlayX < 0 ||
args.overlayX > int(vi.width) ||
args.overlayY < 0 ||
args.overlayY > int(vi.height) {
log.Fatalf("Overlay X/Y pos can't be negative or greater, than video width/height")
}
overlay, err = generator.NewTextOverlay(
args.textOverlay,
int(vi.width),
int(vi.height),
args.overlayX,
args.overlayY,
face,
)
if err != nil {
log.Fatalf("text overlay init failed: %v", err)
}