我是 NDK 的新手,所以我阅读了教程并成功构建了 FFMPEG 库,然后将其复制到我的 jni 文件夹中创建 Android.mk 和 Application.mk 文件并执行 ndk-build 命令所以现在我得到了 libavcodec.so我的 lib 文件夹..(我没有将 ffmpeg 头文件复制到我的 jni 文件夹中..是否有必要添加头文件或者我应该将完整的 ffmpeg lib 添加到 jni 中......堆栈溢出评论说你只需要添加头文件)
我知道如果我想将我的相机视频转换成小尺寸而不是我必须使用 avcodac 压缩它所以我编译它但重要的是我如何使用它。
我对使用那个 so 文件感到困惑。 1) 我是否需要使用 System.load("libavcodec.so") 方法来加载 So 文件 如果在加载 so 文件后是,我如何访问 C/C++ 的 native 方法?
2) 或者我是否需要创建我的 java 类和我的 c 类,它们都相互通信并且 c 类与 ffmpeg 的 avcodec 类通信?
或者如果我必须创建我的 c 类而不是在 Android.mk 中我必须将它添加到源文件行中,那么应该需要同时实现和一件更重要的事情???
谁能告诉我在 FFMPEG 中压缩视频文件大小的方法和步骤是什么?
感谢任何帮助,我的这个问题对其他新生也有帮助。 谢谢
最佳答案
1) 是的,您需要调用System.load("libavcodec.so")
。您可以通过 JNI
访问这些方法。
2) 您需要创建在C
中实现的JNI 方法并调用ffmpeg
。
JNI
Android 教程:http://code.google.com/p/awesomeguy/wiki/JNITutorial
ffmpeg
教程:http://dranger.com/ffmpeg/
关于android - 如何通过将 FFMPEG lib 用于 android 来减小 mp4 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18508449/