繁体   English   中英

Android:如何在android studio中配置FFMPEG最新版本?

[英]Android: How to configure FFMPEG latest version in android studio?

我想在android studio中配置FFMPEG ,但我无法获得任何文档或链接。 许多FFMPEG lib上的Github可用于Android,但都是旧版本。 以及如何在android中运行命令? 我想知道在配置FFMPEG之后我们如何运行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天之前发布。 所以我认为没有像这个旧版本那样容易获得的演示

我们需要自己构建FFMPEG库。 我发现的一些问题只是粘贴在这里可能对你有帮助。 (未测试)

如何为Android构建FFmpeg

  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补充ffmpeg

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

还有一个教程: 如何为Android构建FFmpeg 这已经很老了所以你只需要更改这里提到的版本。 对于FFMPEG ,它将是3.1.1和NDK,它将是r12b


使用NDK r12b构建FFMPEG

  1. 下载Android NDK :可以在Android NDK网站下载最新版本的Android NDK。 在撰写本回答时,最新版本是NDK r12。 只需解压缩档案

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

  3. 更新配置文件:使用文本编辑器打开ffmpeg-3.1.1 / configure文件,并找到以下行。

     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构建系统不兼容。 因此,我们需要用以下行替换上面的行。

     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. 构建ffmpeg:将以下文本复制到文本编辑器,并将其保存为ffmpeg_3.1.1文件夹中的build_android.sh。

      #!/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. 构建输出:构建可能需要一段时间才能完成,具体取决于您的计算机速度。 一旦完成,你应该能够找到一个文件夹$ NDK / sources / ffmpeg-3.1.1 / android,其中包含arm / lib和arm / include文件夹。

  6. 为您的项目提供ffmpeg库

上面的步骤已经过全面测试,我在我的机器上执行它们,并且构建成功。 为了写这个答案我已经从这篇文章中引用了如何使用NDK r9构建ffmpeg但是因为它是旧版本我自己做了一些修改。

打开询问任何疑问。

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

该库的最新版本是在这里写的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

另外我建议你读这个阙这个阙

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

要添加本机代码,这些博客可能会帮助您

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

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

我已经在ffmpeg for android中经历了几个星期。

这个名为FFmpeg4Android的库可以在WarZone找到。

我知道标题是从2011年12月6日开始的,但我已经测试并使用它,它运行顺利。 您还没有提到您对此库的确切需求,但您可以在官方网站上阅读有关ffmpeg功能的内容。

FFmpeg4Android有一个示例项目,可以作为一个很好的参考,并且他们的支持是立即和明确的。

命令根据您的字符串输入运行,例如:

ffmpeg -y -i /sdcard/videokit/in.mp4-strict experimental -s 160x120 -r 25 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050 /sdcard/videokit/out.mp4

如果您需要进一步的帮助,请告诉我,我很乐意为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM