summaryrefslogtreecommitdiff
path: root/cmd/thumbnail-gen/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/thumbnail-gen/main.go')
-rw-r--r--cmd/thumbnail-gen/main.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/cmd/thumbnail-gen/main.go b/cmd/thumbnail-gen/main.go
new file mode 100644
index 0000000..e80105e
--- /dev/null
+++ b/cmd/thumbnail-gen/main.go
@@ -0,0 +1,35 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "os"
+ "path/filepath"
+
+ thumbnailgen "github.com/pablu23/thumbnail-gen"
+)
+
+var (
+ pathFlag = flag.String("path", "", "path to video")
+ intervalFlag = flag.Int("interval", 20, "Interval in seconds between thumbnails")
+ maxThumbnailsFlag = flag.Int("max", 0, "Max Thumbnails, default as much as possible with interval")
+)
+
+func main() {
+ flag.Parse()
+
+ if *pathFlag != "" {
+ thumbnails, err := thumbnailgen.GetThumbnail(*pathFlag, *intervalFlag, *maxThumbnailsFlag)
+ if err != nil {
+ panic(err)
+ }
+
+ name := filepath.Base(*pathFlag)
+ for i, thumbnail := range thumbnails {
+ err := os.WriteFile(fmt.Sprintf("%s-%d.png", name, i), thumbnail, 0600)
+ if err != nil {
+ panic(err)
+ }
+ }
+ }
+}