summaryrefslogtreecommitdiff
path: root/cmd/thumbnail-gen
diff options
context:
space:
mode:
authorPablu23 <pablu23@gmx.de>2024-06-18 19:09:14 +0200
committerPablu23 <pablu23@gmx.de>2024-06-18 19:09:14 +0200
commit13de03cd1cc659f062f159382a3e9c17c51a5b74 (patch)
treeddf7800d1ec00a48d35ea0f68ceefbf48a2e4984 /cmd/thumbnail-gen
parent48e3e51b379db97099bc6785db905a0515c5f313 (diff)
Added scale
Diffstat (limited to 'cmd/thumbnail-gen')
-rw-r--r--cmd/thumbnail-gen/main.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/cmd/thumbnail-gen/main.go b/cmd/thumbnail-gen/main.go
index 4837770..78487eb 100644
--- a/cmd/thumbnail-gen/main.go
+++ b/cmd/thumbnail-gen/main.go
@@ -14,6 +14,9 @@ var (
intervalFlag = flag.Int("interval", 20, "Interval in seconds between thumbnails")
maxThumbnailsFlag = flag.Int("max", 0, "Max Thumbnails, default as much as possible with interval")
blackFilterFlag = flag.Bool("filter", true, "Try to filter out black frames, might be an expensive operation")
+ formatFlag = flag.String("format", "png", "Output format")
+ segmentsFlag = flag.Bool("segments", false, "If active uses interval for how many segments are supposed to be done")
+ widthFlag = flag.Int("width", -1, "Set the width of the picture to scale to, -1 = max")
)
func main() {
@@ -21,7 +24,15 @@ func main() {
if *pathFlag != "" {
// thumbnails, num, err := thumbnailgen.GetThumbnail(*pathFlag, *intervalFlag, *maxThumbnailsFlag, *blackFilterFlag)
- thumbnails, num, err := thumbnailgen.GetThumbnailSegments(*pathFlag, 12, *blackFilterFlag)
+ opts := thumbnailgen.NewDefaultOptions()
+ thumbnails, num, err := opts.Apply(func(o *thumbnailgen.Options) {
+ o.EnableFilter = *blackFilterFlag
+ o.Interval = *intervalFlag
+ o.Format = *formatFlag
+ o.UseSegments = *segmentsFlag
+ o.Segments = *intervalFlag
+ o.Scale = fmt.Sprintf("%d:-1", *widthFlag)
+ }).GetThumbnail(*pathFlag)
if err != nil {
panic(err)
}
@@ -30,7 +41,7 @@ func main() {
name := filepath.Base(*pathFlag)
for i, thumbnail := range thumbnails[:num] {
- err := os.WriteFile(fmt.Sprintf("%s-%d.png", name, i), thumbnail, 0600)
+ err := os.WriteFile(fmt.Sprintf("%s-%d.%s", name, i, *formatFlag), thumbnail, 0600)
if err != nil {
panic(err)
}