diff options
| author | James Mills <prologic@shortcircuit.net.au> | 2020-03-21 10:46:03 +1000 |
|---|---|---|
| committer | James Mills <prologic@shortcircuit.net.au> | 2020-03-21 10:46:03 +1000 |
| commit | 84cba437249e3c109435c9b93a4026c6098cb491 (patch) | |
| tree | 0fc8228a4eb3c9fa67db25e21ce4e9508141be0a /media/video.go | |
| parent | 4dae45a68ff1ff32a251a5835b2a2723ae125d1c (diff) | |
Add support for on-demand thumbnail generation via github.com/mutschler/mt
Diffstat (limited to 'media/video.go')
| -rw-r--r-- | media/video.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/media/video.go b/media/video.go index 9340e86..9c10b1e 100644 --- a/media/video.go +++ b/media/video.go @@ -1,8 +1,11 @@ package media import ( + "fmt" + "io/ioutil" "os" "path" + "path/filepath" "strings" "time" @@ -72,6 +75,17 @@ func ParseVideo(p *Path, name string) (*Video, error) { if pic != nil { v.Thumb = pic.Data v.ThumbType = pic.MIMEType + } else if cmdExists("mt") { + if err := runCmd(3, "mt", "-s", "-n", "1", pth); err != nil { + return nil, err + } + data, err := ioutil.ReadFile(fmt.Sprintf("%s.jpg", strings.TrimSuffix(pth, filepath.Ext(pth)))) + if err != nil { + return nil, err + } + v.Thumb = data + v.ThumbType = "image/jpeg" } + return v, nil } |
