如评论中所建议,使用ffmpeg是最简单的方法。以下是改编自此答案的示例:
package mainimport ( "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}


