diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/thumbnail-gen/main.go | 34 |
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) - // } - // } } } |
