如何通过使用FFMPEG lib到android来减少mp4大小

Swa*_*oid 7 android ffmpeg android-ndk

我是NDK的新手,所以我阅读了教程,我成功构建了FFMPEG lib,而不是将其复制到我的jni文件夹中创建Android.mk和Application.mk文件并执行ndk-build命令,所以现在我将libavcodec.so放入我的lib文件夹..(我没有将ffmpeg头文件复制到我的jni文件夹..是否有必要添加头文件或者我应该将完整的ffmpeg lib添加到jni ... stack-overflow评论说你只需要添加头文件)

我知道,如果我想将我的相机视频转换为小尺寸,而不是通过使用avcodac.so来压缩它,所以我编译它但重要的是这是我如何使用它.

在我的脑海中使用那个文件有困惑.. 1)我是否需要使用System.load("libavcodec.so")方法来加载So文件如果加载后文件是,我怎样才能访问C的本机方法/ C++?

2)或者我是否需要创建我的java类和我的c类,它们彼此通信并且c类与avcodec类的ffmpeg进行通信?

或者应该需要实现两个和一个更重要的事情,如果我必须创建我的c类比在Android.mk我必须将其添加到源文件行???

请问任何人都可以告诉我在FFMPEG中压缩视频文件大小的方法和步骤是什么?

任何帮助表示赞赏,我的问题也将有助于其他新鲜事.谢谢

Ser*_* K. 4

1) 是的,您需要致电System.load("libavcodec.so")。您可以通过访问这些方法JNI

2) 您需要创建在 中实现C并调用的 JNI 方法ffmpeg

JNIAndroid 教程: http: //code.google.com/p/awesomeguy/wiki/JNITutorial

ffmpeg教程: http: //dranger.com/ffmpeg/

  • 你能详细指导我吗...就像我必须创建自己的 C 类来操作 ffmpeg lib 一样吗?...我需要在我的 java 类中使用 System.load("libavcodec.so") 吗? .如果您有的话,可以分享一些示例教程吗 (3认同)