ffmpeg没有填写我提供的缓冲区

I'm trying to pipe a mp4 video to ffmpeg to generate a thumbnail. Unfortunately, ffmpeg does not fill in my provided buffer, even though the whole command execution is successful.

I'm reading the video from a http request body:

videoData, err := ioutil.ReadAll(r.Body)

This is how I push it to ffmpeg:

log.Print("Creating thumbnail..")

width := 640
height := 360
log.Print("Size of the video: ", len(videoData))


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

cmd.Stdin = bytes.NewReader(videoData)

var imageBuffer bytes.Buffer
cmd.Stdout = &imageBuffer
err := cmd.Run()

if err != nil {
    log.Panic("ERROR")
}

imageBytes := imageBuffer.Bytes()

This is the error output:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ff05d002600]stream 0, offset 0x5ded: partial file

pipe:0: Invalid data found when processing input

Finishing stream 0:0 without any data written to it.

frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

Thanks a lot, any help is appreciated.