Android:如何在android studio中configurationFFMPEG最新版本?

我想在Android工作室中configurationFFMPEG ,但我不能得到任何文件或链接。 Github上的许多FFMPEG lib可用于Android,但都是旧版本。 以及如何在android中运行命令? 我想configurationFFMPEG后知道如何运行FFMPEG命令。 帮助我。 感谢提前。

我已经使用下面的链接,但没有成功的最新版本。

http://writingminds.github.io/ffmpeg-android-java

https://github.com/WritingMinds/ffmpeg-android-java

https://github.com/havlenapetr/FFMpeg

https://github.com/appunite/AndroidFFmpeg

https://github.com/WritingMinds/ffmpeg-android

最新版本的FFMPEG是3.1.1,刚刚在12天前发布。 所以我觉得这个老版本没有现成的演示 。

我们需要自己构buildFFMPEG库。 我在这里发现的一些问题可能会帮助你。 (未testing)

如何为Android构buildFFmpeg

  1. 用Android NDK r10编译FFmpeg 2.3
  2. 如何使用android-ndk-r10d在windows上编译ffmpeg-2.5.3
  3. 如何用cygwin和android ndk r9c在windows上编译ffmpeg-2.2.2
  4. 如何在Windows中使用android-ndk-r10d构buildffmpeg

您需要通过下载Android NDK & FFMPEG最新版本自行编译。

一个教程也在那里: 如何为Android构buildFFmpeg 。 这是相当古老的,所以你只需要改变这里提到的版本。 对于FFMPEG它将是3.1.1 &NDK它将是r12b


用NDK r12b构buildFFMPEG

  1. 下载Android NDK :最新版本的Android NDK可以在Android NDK网站上下载。 在写这个答案的时候,最新的版本是NDK r12。 简单地解压档案

  2. 下载ffmpeg源代码 :FFMPEG源代码可以从ffmpeg网站下载。 最新的稳定版本是3.1.1(在撰写本文时)。 下载源代码并将其解压缩到$ NDK / sources文件夹。

  3. 更新configuration文件:使用文本编辑器打开ffmpeg-3.1.1 / configure文件,并find以下几行。

     SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' 

    这导致ffmpeg共享库被编译为libavcodec.so。 (如libavcodec.so.55),这与Android构build系统不兼容。 因此,我们需要用以下几行代替上面的行。

     SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS='$(SLIBNAME) 
  4. 构buildffmpeg:将以下文本复制到文本编辑器中,并将其作为build_android.sh保存在ffmpeg_3.1.1文件夹中。

      #!/bin/bash NDK=$HOME/Desktop/adt/android-ndk-r9 SYSROOT=$NDK/platforms/android-9/arch-arm/ TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 function build_one { ./configure --prefix=$PREFIX --enable-shared --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc --disable-symver --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- --target-os=linux --arch=arm --enable-cross-compile --sysroot=$SYSROOT --extra-cflags="-Os -fpic $ADDI_CFLAGS" --extra-ldflags="$ADDI_LDFLAGS" $ADDITIONAL_CONFIGURE_FLAG make clean make make install } CPU=arm PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm" build_one 

    一旦文件被保存,进入该文件所在的目录并执行下面的命令,

     sudo chmod +x build_android.sh 

    然后通过命令执行脚本,

     ./build_android.sh 
  5. 构build输出:构build可能需要一段时间才能完成,具体取决于您的计算机速度。 一旦完成,你应该能够find一个文件夹$ NDK / sources / ffmpeg-3.1.1 / android,其中包含arm / lib和arm / include文件夹。

  6. 使ffmpeg库可用于您的项目

上面的步骤经过充分testing,我在我的机器上执行它们,并且构build成功。 为了写这个答案,我已经从这篇文章的参考如何使用NDK R9构buildffmpeg,但因为它是旧版本,我已经做了一些我自己的更正。

打开询问任何疑虑。

你有没有看到这个链接Writingminds的FFmpeg库在这个链接提供了所有关于它的解释

该库的最新版本writingmind在这里https://github.com/WritingMinds/ffmpeg-android-java/releases 在这里输入图像说明

如果你想使用任何库的最新版本,你可以直接在build.gradle因为如果任何库没有更新,它可以看到,并可以从build.gradle更新,我总是这样做的许多图书馆最新可用版。

对于FFMpeg中的gradle,使用这个

 compile 'com.writingminds:FFmpegAndroid:0.3.2' 

更多类似的库在这个链接https://android-arsenal.com/details/1/925上给出;

另外,我build议你读这个阙 , 这个阙

如果你想使用最新版本的原始图书馆去这里: FFmpeg [最新版本将在这里 ]

添加本地代码,然后这些博客可以帮助你

http://ffmpeg-android.blogspot.in/

http://www.roman10.net/2011/07/17/how-to-build-android-applications-based-on-ffmpeg-by-an-example/

我经历了几个星期的android ffmpeg。

这个库名为FFmpeg4Android,可以在WarZonefind。

我知道标题说,从2011年12月6日,但我已经testing,并与它合作,这一切运行顺利。 你没有提到你对这个库的确切需求,但是你可以在官方网站上了解到ffmpeg的function。

FFmpeg4Android有一个可以作为参考的示例项目,他们的支持也是直接和明确的。

命令根据您的stringinput运行,例如:

ffmpeg -y -i /sdcard/videokit/in.mp4-严格实验-s 160×120 -r 25 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050 /sdcard/videokit/out.mp4

让我知道如果你需要进一步的帮助,我会很乐意帮助。