Как правильно настроить ffmpeg для оболочки Go - PullRequest
0 голосов
/ 18 февраля 2020

Я пробовал обёртку для ffmpeg, написанную в Go ( imkira / go -libav ) и пытался следовать примеру, но после успешной сборки я получил ошибка, из-за которой не удается найти декодер.
Это часть кода, в которой возникает ошибка:

if ctx.decStream = firstStream(ctx.decFmt); ctx.decStream == nil {
  log.Fatalf("Couldn't find a video stream.")
}

codecCtx := ctx.decStream.CodecContext()
codec := avcodec.FindDecoderByID(codecCtx.CodecID())
if codec == nil {
  log.Fatalf("Could not find decoder: %v\n", codecCtx.CodecID())
}

Функция first_stream:

func firstStream(fmtCtx *avformat.Context) *avformat.Stream {
  for _, stream := range fmtCtx.Streams() {
    switch stream.CodecContext().CodecType() {
      case avutil.MediaTypeVideo:
        return stream
    }
  }
  return nil
}

Это так же, как в примере, который также имеет ту же проблему. Я предполагаю, что это не основано на коде, но я не могу понять это. Я попытался зарегистрировать все форматы, но на самом деле это происходит в функции init().
Я использую Manjaro Linux 19.0.0 и у меня установлен FFmpeg 3.3.9 из источника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...