package service import ( "io/ioutil" "os" "os/exec" "time" ) func FFmpegSnapshot(rtspURL string) ([]byte, error) { outputImage := "/tmp/" + time.Now().Format("20060102150405") + ".jpg" defer os.Remove(outputImage) // FFmpeg 命令 cmd := exec.Command("ffmpeg", "-i", rtspURL, "-vframes", "1", "-q:v", "2", outputImage) // 执行命令并捕获错误 err := cmd.Run() if err != nil { return nil, err } return ioutil.ReadFile(outputImage) }