Ffmpeg:对'avcodec_decode_video'的未定义引用

时间:2012-03-02 11:49:22

标签: c ffmpeg

我尝试使用此示例处理视频: 'An ffmpeg and SDL Tutorial'。 但是编译器告诉我: 未定义的引用`avcodec_decode_video'。

我已将avcodec_decode_video更改为avcodec_decode_audio3 (我在ffmpeg / avcodec.h中找到了这个函数)。 但它不起作用,我不明白为什么。也许你知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

链接教程规定它已过时。事实上,FFmpeg的API自编写以来就已经发展。在撰写本文时,在FFmpeg的git HEAD中,用于解码视频和音频的公共函数分别是avcodec_decode_video2()和avcodec_decode_audio4()。

您写道,您试图将avcodec_decode_audio3()替换为avcodec_decode_video()。这不会起作用,因为一个功能用于解码音频而另一个用于视频。假设您使用的是最新版本的FFmpeg,请尝试使用av​​codec_decode_video2()进行视频解码。另外,在FFmpeg源代码树的doc / examples下查看应该更新的示例。

答案 1 :(得分:2)

Use updated code - 正如Tutorials所述。

答案 2 :(得分:0)

您需要链接库:

gcc -o main.o main.c `pkg-config --cflags --libs libavformat libavutil`