在mingw下编译ffmpeg,并加上对rtmp的支持,即要先编译librtmp. 编译过程出了个librtmp not found问题,google了一圈,发现有很多类似的问题,但都和我的不完全一样。我的根本问题是mingw下的pkg-config没有正确安装。librtmp经过make和make install后,库文件和头文件都已经分别拷贝到/usr/local/lib和/usr/local/include目录下,ffmpeg在configure时找不到librtmp,为什么找不到呢?百思不得其解,无奈之下google,最终得到提示。
打开configure文件,发现下面一行
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
原来ffmpeg通过pkg-config去找librtmp,难怪找不着了。
解决办法:
以#符号注释掉enabled librtmp一行
在configure时加上参数
./configure \
... ...
--extra-ldflags="-L/usr/local/lib" \
--extra-cflags="-I/usr/local/include" \
--extra-libs="-lrtmp" \
... ...