安卓项目中要用到FFMPEG,去官网下载了一个最新的版本,122M,下载下来编译成了静态文件,导入到工程中,用NDK编译native的时候提示avcodec_init找不到,一看头文件avcodec.h中这个函数的声明都没有了,再找到一个老版本的,avcodec.h头文件中都 有这个函数的声明,新版本是怎么回事,难道修改了么?FFMPEG视频那一块的函数在avcodec.h都找不到了,提示找不到函数,是怎么回事啊 !!!!!!!!!请教各位前辈了
调试欢乐多
libavcodec.a有20多M我编译出来的才1K不知道是什么原因,难道是编译过程中的原因么
avformat_open_input(&pFormatCtx, "rtmp://xxx.xx.87.58/e/crovd1", NULL, NULL);调用不成功,但是我rtmp的路径是对的,用其它工具能访问到视频,config.h跟config.mak文件中的network我都是打开了的
不知道编译的时候还要设置什么,我的config.sh文件如下
#!/bin/bash
PREBUILT=${NDK_ROOT}/toolchains/arm-linux-androideabi-4.8/prebuilt/windows
PLATFORM=android-18
ARCH=--arch=arm
./configure \
${ARCH} \
--target-os=linux --enable-cross-compile --cross-prefix=${PREBUILT}/bin/arm-linux-androideabi- \
--extra-cflags=" -fPIC -DANDROID -std=c99 " \
--enable-version3 \
--enable-gpl \
--enable-nonfree \
--disable-stripping \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffserver \
--disable-ffprobe \
--disable-encoders \
--enable-protocol=tcp \
--disable-devices \
--enable-demuxer=rtsp \
--enable-avfilter \
--enable-network \
--enable-decoder=h264 \
--disable-avdevice \
--disable-asm \
--enable-neon \
--enable-armv5te \
--sysinclude=${NDK_ROOT}/platforms/${PLATFORM}/arch-arm/usr/include \
--extra-ldflags="-Wl,-rpath-link=${NDK_ROOT}/platforms/${PLATFORM}/arch-arm/usr/lib -L${NDK_ROOT}/platforms/${PLATFORM}/arch-arm/usr/lib -nostdlib ${NDK_ROOT}/platforms/${PLATFORM}/arch-arm/usr/lib/crtbegin_static.o ${NDK_ROOT}/platforms/${PLATFORM}/arch-arm/usr/lib/crtend_android.o -lc -lm -ldl "希望大牛们指点一下啊
config.h跟confih.mak文件中的network还有跟RTMP有关的我都设置了,还有加入了librtmp还是不行
avformat_open_input的时候打开不了视频流,不知道还要设置什么