如何在Android Studio中使用预建的FFmpeg

vxh.viet

我敢肯定这是一个非常基本的问题,但是由于这是我第一次弄乱NDK,所以很多事情对我来说仍然很不清楚。

用例:

  • 我正在尝试开发视频清理功能,因此快速准确的寻帧至关重要。我已经尝试了大多数可用的播放器,但性能仍达不到我的要求。这就是为什么我要走FFmpeg路线的原因。

  • 基本上,我要寻找的是FFmpeg输入寻找我已经尝试过WrtingMinds的ffmpeg-android-java但是,它是基于文件的实现,这意味着out.jpg需要将其写入外部存储器并进行回读,这对性能有很大的影响(一次搜索大约需要1000毫秒)。

  • 这就是为什么我试图构建自己的FFmpeg播放器以在JNI中进行输入搜索并将其推回byte[]Java中进行显示的原因。

问题:经过NDK的大量努力之后,我设法进行了设置,并成功地从Java代码中调用了JNI方法。结构如下:

MyApp
  -app
  -MyFFmpegPlayer
    -build
    -libs
    -src
      -main
        -java
          -com.example.myffmpegplayer
            +HelloJNI.java
        -jni
          +MyFFmpegPlayer.c

在Windows上无法成功构建FFmpeg后,我决定使用WritingMinds预构建FFmpeg。但是,提取后它们只是作为纯ffmpeg文件(而不是.so文件)出现,所以我真的不知道如何使用它们。

如果有人可以插话并为我的下一步提供一个很好的起点,那将是极大的感谢。

非常感谢您的参与。

vxh.viet

因此,为了回答我自己的问题(我应该改为“如何构建FFmpeg并在Android Studio中使用它”),我创建了一条适用于我的详细分步说明(截至2016年5月24日)。

抱歉,由于篇幅太长,我无法在此处发布整个说明,而且我更容易保持1个信息源的最新状态。

我希望这可以对某人有所帮助,因为我知道关于该主题的信息太多,令人困惑和矛盾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Android Studio中使用延迟功能?

如何在Android Studio中使用ArrayList get()方法

如何在Android Studio中使用内部存储器?

如何在Java Android Studio中使用Android相机拍照

如何在Android Studio中使用Google Cloud Translation API?

如何在Java Android Studio中使用String资源?

如何在Android Studio中使用最新的Gradle版本

如何在Android Studio中使用多个参数调用API

如何在Android Studio中使用ProGuard?

如何在Android Studio中使用本机C库

如何在Android Studio中使用git分支

如何在Android Studio中使用断言

在Android AOSP中使用预建的共享库

如何在Android Studio项目中使用最新的FFMPEG?

如何在Android Studio 2.2中添加预建* .so库

如何在Android Studio中使用onMarkerClick打开新活动

如何在Android Studio中使用android.test.mock

如何在Flutter和Android Studio中使用git?

如何在AOSP项目中使用预建的c ++静态/共享库

如何在Android Studio的设计面板中使用CustomView?

如何在Android Studio中使用BoofCV?

如何在Android Studio中使用Pocketsphinx

我如何在Android Studio中使用这个Github库

Luis.ai 的预建 Entertainment.Search - 如何在聊天机器人中使用?

如何在 Android Studio 中使用 ObservableList?

如何在 Android Studio 中使用从 IDM 下载的系统映像?

如何在 Android Studio 中使用 Stetho 和 RoomDataBase?

如何在 Android Studio 中使用 java 代码克隆视图

如何在 Android Studio 中使用 TextInputLayout