ffmpeg 通过管道:流 1,偏移量 0x30:部分文件

问题描述 投票:0回答:1

我的视频数据是动态的,它可以使用任何扩展名,但当我使用 mp4 扩展名时会出现错误。

我的功能:

func (s *service) convertVideo(videoData []byte) ([]byte, error) {
    var buffer bytes.Buffer
    cmd := exec.Command("ffmpeg",
        "-i", "pipe:0",
        "-c:v", "libvpx-vp9",
        "-b:v", "0",
        "-f", "webm",
        "-t", "8",
        "-preset", "ultrafast",
        "pipe:1")
    cmd.Stdin = bytes.NewReader(videoData)
    cmd.Stdout = &buffer
    err := cmd.Run()
    if err != nil {
        return nil, err
    }
    return buffer.Bytes(), nil
}

并出现错误:

stream 1, offset 0x30: partial file
Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 720x1280, 773 kb/s): unspecified pixel format

是因为我使用了流管道吗?因为如果我使用临时文件它会成功,但效果并不那么有效。

如果我先将我的 mp4 转换为 mp4,那么它就成功了。所以问题的原因是我的mp4,但仍然没有在代码中找到解决方案。

go ffmpeg
1个回答
0
投票

你能解决这个问题吗? 我无法使用缓冲区或流视频...

© www.soinside.com 2019 - 2024. All rights reserved.