使用FFmpeg库处理GIF-在av_parser_init中找不到解析器

时间:2018-11-24 17:50:27

标签: c++ ffmpeg gif libavcodec swscale

我现在正在使用ffmpeg库,即libswscalelibavcodec。我的目标是调整GIF文件的大小。从我的荒谬理解中,我认为我需要

  • 解码GIF并获取一个AVFrame
  • 使用libswscale处理框架
  • 再次编码为GIF

但是我停留在第1步。根据https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/decode_video.c的官方示例,我需要获取一个解析器:

codec = avcodec_find_decoder(AV_CODEC_ID_GIF);
parser = av_parser_init(codec->id);

但是找不到解析器。我没有在配置调用中接触解析器,所以我采取了所有措施:

Enabled parsers:
aac                       cavsvideo                 dvbsub                    h263                      mpegvideo                 sipr                      xma
aac_latm                  cook                      dvd_nav                   h264                      opus                      tak
ac3                       dca                       dvdsub                    hevc                      png                       vc1
adx                       dirac                     flac                      mjpeg                     pnm                       vorbis
av1                       dnxhd                     g729                      mlp                       rv30                      vp3
avs2                      dpx                       gsm                       mpeg4video                rv40                      vp8
bmp                       dvaudio                   h261                      mpegaudio                 sbc                       vp9

我在做什么错?如果这是错误的方法,那么正确的方法是什么?

0 个答案:

没有答案