【发布时间】:2013-12-17 08:46:25
【问题描述】:
我正在尝试在 JavaCV Android 中使用 AMR_NB 编解码器但遇到问题:
这是我运行的代码:
avcodec.avcodec_register_all();
avformat.av_register_all();
AVCodec mCodec = avcodec.avcodec_find_encoder(avcodec.AV_CODEC_ID_AMR_NB);
输出:mCodec 为空,但如果我通过 avcodec.AV_CODEC_ID_AAC 比 mCodec 不为空
我假设我必须使用 --enable-libopencore-amrnb 重新编译 ffmpeg。因此,我下载了 Android NDKr9+ffmpeg-2.0.2+last_stable_x264 并将它们添加到 javacv-cppjars 文件夹中,我还在 /usr/local 中安装了 opencore-amr 库。在 ffmpeg-2.0.2-android-arm.patch 我添加了 --enable-libopencore-amrnb 标志并在终端中运行以下命令
ANDROID_NDK=/Users/android-ndk-r9b/ FFMPEG_VERSION=2.0.2 ./build_ffmpeg-android-arm.sh
脚本运行但未生成库且 jar 为空但如果我删除 --enable-libopencore-amrnb 标志,则库已成功生成,请告知我做错了什么?我该怎么办?任何帮助将不胜感激!
顺便说一下,我用的是mac-osx
谢谢。
【问题讨论】:
-
仅供参考:在 JavaCV 脚本中,在您的脚本中禁用-gpl 和 libx264。否则你将违反 GPL。
-
谢谢@Edison 我知道了,这个项目只是为了学习!
标签: android android-ndk ffmpeg javacv