Unknown option “--disable-ffserver“

这个问题是我尝试编译ijkplayer的时候出现的问题(其他的步骤我们不多说,环境设置大家应该都可以配置成功),一开始使用的是ffmpeg-4.1.3版本,当时查询资料说的是高版本不支持ffmpeg-ffserver,然后我就换了一个低版本:ffmpeg-3.3,但是还是会报这个问题;

Unknown option "--disable-ffserver". See ./configure --help for available options.

以下是我暂时解决这个问题并编译成功的修改:

一.ffmpeg 

ffmpeg-3.3(可以查看你的版本)文件夹下,configure 文件打开并修改

 

 注释掉或者删掉 ffserver对应的那一行;

2.注释掉 --disable-vda

经过 1 的修改后,会出现新的问题 "--disable-vda",

打开ijkplayer/config 文件夹,打开module.sh然后修改

 注释掉 "--disable -vda"这一行,

3.module.sh 修改

将目录切换到 ~/ijkplayer-android/config下,使用sudo gedit module.sh在该文件最后一行添加下面一行

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"

保存后执行下面命令使其生效

source module.sh

然后切换到~/ijkplayer-android/android/contrib目录下再执行下列命令就不会出问题了:

./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
cd ..
./compile-ijk.sh all

经过以上3条修改,然后就可以打包出对应的so库了;

编译好的ijkplayer在/ijkplayer-android/android/ijkplayer/ijkplayer-arm64/src/main/libs/arm64-v8等等这样的目录下会有so文件产生,而且~/ijkplayer-android/android/ijkplayer是一个可以被Android Studio通过Open an existing Android Studio project这样的方式直接编译运行的Project.

注:其他问题以及解决方法(可参考):

问题1:执行 ./compile-ffmpeg.sh all 命令后,如果提示 找不到NDK路径,先去看看NDK路径是否配置正确,如果正确还报这个错,那可能是用户的问题,切换到sudo后,sudo的用户文件系统与你(当前登录用户)放置NDK的路径不一致,这个时候你要提升你的用户权限,不要在指令前加sudo了。
问题2:执行 ./compile-ffmpeg.sh all 命令后,如果报错:tools/do-compile-ffmpeg.sh: 行 317: make: 未找到命令,说明没安装make,使用 sudo apt-get install make 命令安装即可。
问题3:执行 ./compile-ffmpeg.sh all 命令后,如果报错:fatal error: linux/perf_event.h: No such file or directory,将目录切换到 ~/ijkplayer-android/config下,使用sudo gedit module.sh在该文件最后一行添加下面一行:

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"

(详见第三条)

猜你喜欢

转载自blog.csdn.net/gqg_guan/article/details/131287334