我正在尝试使用 image 和 golang.org/x/image/bmp 库解码 bmp 图像。图像由 ffmpeg 输出到标准输出。这是获取框架的代码:
cmd := exec.Command("ffmpeg", "-accurate_seek", "-ss", strconv.Itoa(index), "-i",
filename, "-frames:v", "1", "-hide_banner", "-loglevel", "0", "pipe:.bmp")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
o := bufio.NewReader(&out)
然后我使用解码它img, _, err := image.Decode(o) 但是这给出了“图像:未知格式”的错误。我已经在 main 方法中注册了 bmp 格式,并且我之前已经成功地从磁盘解码了实际的 BMP 文件,而不是从 stdout。
我试过只使用 bmp.Decode 而不是 image.Decode 但这只会给出错误“EOF”。
我想也许我没有以正确的方式获取标准输出,但如果我直接将其写入文件:
o := bufio.NewReader(&out)
outputfile, err := os.Create("test.bmp")
if err != nil {
log.Fatal(err)
}
defer outputfile.Close()
io.Copy(outputfile, o)
然后它工作正常,我可以打开它。
慕无忌1623718
相关分类