diff options
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 } |
