0

我正在玩 ffmpeg 库,即libswscale现在libavcodec。我的目标是调整 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

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

4

0 回答 0