我正在玩 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
我究竟做错了什么?如果这是错误的方法,那么正确的方法是什么?