Javacpp:无法将 libfdk_aac 添加到 ffmpeg 预设
Javacpp: Can't manage to add libfdk_aac to ffmpeg presets
我们正在尝试使用 javacpp 重新编译 ffmpeg 项目并启用 --enable-libfdk-aac
,构建工作正常,但我们无法使用 libfdk_aac 解码 audio_stream。
我们正在调用:avcodec_find_decoder_by_name("libfdk_aac")
并得到以下结果:
Exception: avcodec_find_decoder() error: Unsupported audio format or codec not found: 86018.
我们对ffmpeg目录下的ccpbuild.sh进行了如下修改:
在ENABLE变量
中添加指令:--enable-libfdk-aac
获取依赖项:download https://github.com/mstorsjo/fdk-aac/tarball/master fdk-aac.tar.gz
解压:tar -xzvf ../fdk-aac.tar.gz
正在安装:
cd ../mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix=$INSTALL_PATH --disable-shared --with-pic
make -j $MAKEJ
make install
我 运行 所有这些都是在 macosx 平台上完成的。
过程好像没问题,用maven编译项目也能正常,但是调用codec的时候就不行了"libfdk_aac"。
我想知道我是不是做错了什么,或者是否还有其他地方需要注册这个编解码器? (特别是因为这是一个外部库)
非常感谢
最后,ffmpeg 的 javacpp 预设没有任何问题。我们在预设中添加 libfdk 的方式(如我在问题 post 中所述)是正确的。
但是在 Javacv 的 FFmpegFrameGrabber class 中,我们在解码媒体时缺少 "force" 音频编解码器的方法。
我们修改了这个 class 以添加一个 setAudioCodecName 方法,现在可以正常工作了。
然后我们可以设置 libfdk_aac(或任何其他编解码器)来解码音频,或使用 FFmpegFrameRecorder 对音频进行编码。
我们正在尝试使用 javacpp 重新编译 ffmpeg 项目并启用 --enable-libfdk-aac
,构建工作正常,但我们无法使用 libfdk_aac 解码 audio_stream。
我们正在调用:avcodec_find_decoder_by_name("libfdk_aac")
并得到以下结果:
Exception: avcodec_find_decoder() error: Unsupported audio format or codec not found: 86018.
我们对ffmpeg目录下的ccpbuild.sh进行了如下修改:
在ENABLE变量
中添加指令:获取依赖项:
download https://github.com/mstorsjo/fdk-aac/tarball/master fdk-aac.tar.gz
解压:
tar -xzvf ../fdk-aac.tar.gz
正在安装:
cd ../mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic make -j $MAKEJ make install
--enable-libfdk-aac
我 运行 所有这些都是在 macosx 平台上完成的。
过程好像没问题,用maven编译项目也能正常,但是调用codec的时候就不行了"libfdk_aac"。 我想知道我是不是做错了什么,或者是否还有其他地方需要注册这个编解码器? (特别是因为这是一个外部库)
非常感谢
最后,ffmpeg 的 javacpp 预设没有任何问题。我们在预设中添加 libfdk 的方式(如我在问题 post 中所述)是正确的。
但是在 Javacv 的 FFmpegFrameGrabber class 中,我们在解码媒体时缺少 "force" 音频编解码器的方法。 我们修改了这个 class 以添加一个 setAudioCodecName 方法,现在可以正常工作了。 然后我们可以设置 libfdk_aac(或任何其他编解码器)来解码音频,或使用 FFmpegFrameRecorder 对音频进行编码。