0

我正在尝试制作一个从存储中获取文件的 Google App Engine,并将任意音频文件转换为 FLAC。但是,App Engine 不允许运行可执行文件。

我当前的代码如下所示:

cmd := exec.CommandContext(ctx, `./ffmpeg`,
    `-i`, `pipe:0`, `pipe:1`, `-ac`, `1`, `-c:a`, `flac`, `-f`, `flac`)
cmd.Stdin = rc
cmd.Stdout = wc

var errOutput bytes.Buffer
cmd.Stderr = &errOutput

err = cmd.Run()
fmt.Printf("Running ffmpeg: %v... \nstderr: %s\n", err, errOutput.String())

尝试寻找执行此操作的 go 包(例如https://github.com/xfrr/goffmpeg),但我发现的所有内容似乎都使用与上述代码相同的“在输入上运行可执行文件”范例。

我应该如何处理这个?是否有提供与 FFMPEG 或类似的绑定的包?

4

1 回答 1

0

您可以在 App Engine 中使用 ffmpeg 功能导入ffmpeg-python: FFmpeg 或例如Libav的 Python 绑定。

请注意,通过 App Engine 使用第三方库有两个步骤

  1. 将库添加到需求文件中,这将在应用构建期间使用:ffmpeg-python==0.1.17
  2. 将其添加到应用程序代码中:import ffmpeg

App Engine 的视频编码应用示例:

  1. 使用 App Engine 灵活的可扩展视频转码
  2. 使用 Google App Engine 分发 FFMPEG
于 2019-04-16T14:55:53.133 回答