From c9dc448cb8453030166ebda26efd3d32285ce8b0 Mon Sep 17 00:00:00 2001 From: Pablu23 Date: Tue, 11 Jun 2024 17:39:30 +0200 Subject: Now splittable into segments with variable intervals, and more Cli options --- cmd/thumbnail-gen/main.go | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) (limited to 'cmd/thumbnail-gen/main.go') 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) - // } - // } } } -- cgit 1.3.1