我尝试使用此示例处理视频: 'An ffmpeg and SDL Tutorial'。 但是编译器告诉我: 未定义的引用`avcodec_decode_video'。
我已将avcodec_decode_video更改为avcodec_decode_audio3 (我在ffmpeg / avcodec.h中找到了这个函数)。 但它不起作用,我不明白为什么。也许你知道如何解决这个问题?
答案 0 :(得分:2)
链接教程规定它已过时。事实上,FFmpeg的API自编写以来就已经发展。在撰写本文时,在FFmpeg的git HEAD中,用于解码视频和音频的公共函数分别是avcodec_decode_video2()和avcodec_decode_audio4()。
您写道,您试图将avcodec_decode_audio3()替换为avcodec_decode_video()。这不会起作用,因为一个功能用于解码音频而另一个用于视频。假设您使用的是最新版本的FFmpeg,请尝试使用avcodec_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`