diff options
Diffstat (limited to 'media')
| -rw-r--r-- | media/video.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/media/video.go b/media/video.go index f37c697..e864be0 100644 --- a/media/video.go +++ b/media/video.go @@ -79,10 +79,13 @@ func ParseVideo(p *Path, name string) (*Video, error) { v.Thumb = pic.Data v.ThumbType = pic.MIMEType } else if utils.CmdExists("mt") { - if err := utils.RunCmd(10, "mt", "-s", "-n", "1", pth); err != nil { - err := fmt.Errorf("error generating thumbnail: %w", err) - log.Error(err.Error()) - return nil, err + thumbFn := fmt.Sprintf("%s.jpg", strings.TrimSuffix(pth, filepath.Ext(pth))) + if !utils.FileExists(thumbFn) { + if err := utils.RunCmd(10, "mt", "-s", "-n", "1", pth); err != nil { + err := fmt.Errorf("error generating thumbnail: %w", err) + log.Error(err.Error()) + return nil, err + } } data, err := ioutil.ReadFile(fmt.Sprintf("%s.jpg", strings.TrimSuffix(pth, filepath.Ext(pth)))) if err != nil { |
