1 回答

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊
更新:事實證明問題是-ss需要時間而不是幀索引。
我試圖重現(xiàn)這個問題,但它似乎對我有用。也許添加cmd.Stderr = os.Stderr以查看 ffmpeg 輸出是否提供了線索。您還可以發(fā)布一個完全可運行的示例嗎?
package main
import (
"bytes"
"image"
"log"
"os"
"os/exec"
_ "golang.org/x/image/bmp"
)
func main() {
cmd := exec.Command(
"docker", "run",
"--rm",
"mwader/static-ffmpeg",
"-ss", "5",
"-f", "lavfi",
"-i", "testsrc",
"-frames:v", "1",
"-f", "image2",
"-vcodec", "bmp",
"pipe:1",
)
var out bytes.Buffer
cmd.Stderr = os.Stderr
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
img, imgFormat, imgErr := image.Decode(&out)
log.Printf("img.Bounds(): %#+v\n", img.Bounds())
log.Printf("imgFormat: %#+v\n", imgFormat)
log.Printf("imgErr: %#+v\n", imgErr)
}
- 1 回答
- 0 關(guān)注
- 210 瀏覽
添加回答
舉報