为了账号安全,请及时绑定邮箱和手机立即绑定

视频的第一帧

视频的第一帧

Go
哆啦的时光机 2021-12-13 18:32:52
我正在使用后端的 Golang 和前端的 javascript 创建一个单页应用程序。我想找到一种方法,如何使用 Golang 获取视频的第一帧。首先,我将 .mp4 视频文件上传到服务器。它保存在服务器上。有没有办法使用 Golang 获取此视频的第一帧?应该可以在前端使用 Javascript 来做到这一点,但我觉得这不是解决这个问题的正确方法。我不知道如何使用 Golang 来实现它,我还没有找到任何有用的库,甚至没有可以帮助我解决这个问题的内置函数。每一条建议或任何建议将不胜感激。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

正如评论中所建议的,使用ffmpeg将是最简单的方法。以下是改编自此答案的示例:


package main


import (

    "bytes"

    "fmt"

    "os/exec"

)

func main() {

    filename := "test.mp4"

    width := 640

    height := 360

    cmd := exec.Command("ffmpeg", "-i", filename, "-vframes", "1", "-s", fmt.Sprintf("%dx%d", width, height), "-f", "singlejpeg", "-")

    var buffer bytes.Buffer

    cmd.Stdout = &buffer

    if cmd.Run() != nil {

        panic("could not generate frame")

    }

    // Do something with buffer, which contains a JPEG image

}


查看完整回答
反对 回复 2021-12-13
  • 1 回答
  • 0 关注
  • 254 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信