golang: преобразование аудио в FLAC без запуска исполняемого файла - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь создать 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), которые делают это, но все, что я обнаружил, похоже, использует ту же самую парадигму "run исполняемый файл на входах", что и код выше.

Как мне подойти к этому? Есть ли пакет, который обеспечивает привязки к FFMPEG или подобному?

1 Ответ

0 голосов
/ 16 апреля 2019

Вы можете использовать функциональность ffmpeg в App Engine при импорте ffmpeg-python : привязки Python для FFmpeg или, например, Libav .

Обратите внимание, что есть два шага для использования сторонней библиотеки с App Engine :

  1. Добавить библиотеку в файл требований, который будет использоваться при сборке приложения: ffmpeg-python==0.1.17
  2. Добавить егок коду приложения: import ffmpeg

Примеры приложений кодирования видео для App Engine:

  1. Масштабируемое перекодирование видео с помощью App Engine Flexible .
  2. Распределенный FFMPEG с использованием Google App Engine .
...