summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/thumbnail-gen/main.go34
1 files changed, 13 insertions, 21 deletions
diff --git a/cmd/thumbnail-gen/main.go b/cmd/thumbnail-gen/main.go
index 8783685..4837770 100644
--- a/cmd/thumbnail-gen/main.go
+++ b/cmd/thumbnail-gen/main.go
@@ -3,6 +3,8 @@ package main
import (
"flag"
"fmt"
+ "os"
+ "path/filepath"
thumbnailgen "github.com/pablu23/thumbnail-gen"
)
@@ -11,37 +13,27 @@ 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")
+ blackFilterFlag = flag.Bool("filter", true, "Try to filter out black frames, might be an expensive operation")
)
func main() {
flag.Parse()
if *pathFlag != "" {
- _, err := thumbnailgen.GetFramerate(*pathFlag)
+ // thumbnails, num, err := thumbnailgen.GetThumbnail(*pathFlag, *intervalFlag, *maxThumbnailsFlag, *blackFilterFlag)
+ thumbnails, num, err := thumbnailgen.GetThumbnailSegments(*pathFlag, 12, *blackFilterFlag)
if err != nil {
- fmt.Printf("Framerate: %s\n", err)
+ panic(err)
}
- _, err = thumbnailgen.GetVideoLength(*pathFlag)
- if err != nil {
- fmt.Printf("Video Length: %s\n", err)
- }
+ fmt.Printf("Extracted %d thumbnails\n", num)
- _, err = thumbnailgen.GetFilter(*pathFlag)
- if err != nil {
- fmt.Printf("Filter: %s\n", err)
+ name := filepath.Base(*pathFlag)
+ for i, thumbnail := range thumbnails[:num] {
+ err := os.WriteFile(fmt.Sprintf("%s-%d.png", name, i), thumbnail, 0600)
+ if err != nil {
+ panic(err)
+ }
}
- // 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)
- // }
- // }
}
}