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

Java Android:如何在Android studio中配置FFMPEG最新版本?,java,android,android-studio,video,ffmpeg,Java,Android,Android Studio,Video,Ffmpeg,我想在android studio中配置FFMPEG,但我无法获取任何文档或链接。许多适用于android的FFMPEGlib上的Github都是旧版本。如何在android中运行命令?我想知道在配置FFMPEG之后,我们如何运行FFMPEG命令。帮我吧。提前谢谢 我使用了以下链接,但在最新版本中没有成功 你看过这个链接吗?Writingminds的FFmpeg库在 writingmind图书馆的最新版本在这里 如果您想使用任何库的最新版本,可以直接从build.gradle中进行操作

我想在android studio中配置
FFMPEG
,但我无法获取任何文档或链接。许多适用于android的
FFMPEG
lib上的Github都是旧版本。如何在android中运行命令?我想知道在配置
FFMPEG
之后,我们如何运行
FFMPEG
命令。帮我吧。提前谢谢

我使用了以下链接,但在最新版本中没有成功


你看过这个链接吗?Writingminds的FFmpeg库在

writingmind图书馆的最新版本在这里 如果您想使用任何库的最新版本,可以直接从
build.gradle
中进行操作,因为如果任何库未更新,则可以查看该库,并且可以从
build.gradle
中进行更新,我总是为许多库的最新可用版本执行此操作

对于FFMpeg中的gradle,请使用此

compile 'com.writingminds:FFmpegAndroid:0.3.2'
此链接中提供了更多类似的库

我还建议你阅读,并且

如果您想使用原始库的最新版本,请点击此处:[最新版本将是] 要添加本机代码,这些博客可能会帮助您

我建议您使用以下对我有帮助的URL:

对于知识:

Android studio源代码:

这可能对你有帮助


几周来,我一直在体验android的ffmpeg

可以找到名为FFmpeg4Android的库

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

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

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

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


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

最新版本的
FFMPEG
是3.1.1,在12天前发布。所以我想没有人

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

如何为Android构建FFmpeg

  • 您需要通过下载&,自己编译它

    还有一个教程:。这是非常旧的,所以您只需要更改这里提到的版本。对于
    FFMPEG
    ,它将是
    3.1.1
    &NDK,它将是
    r12b


    使用NDK r12b构建
    FFMPEG

  • 下载Android NDK:最新版本的Android NDK可在下载。在撰写此答案时,最新版本是NDK r12。只需解压缩归档文件

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

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

    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)'
    
    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
    SLIB_INSTALL_LINKS='$(SLIBNAME)
    
    这将导致ffmpeg共享库被编译为 libavcodec.so。(例如libavcodec.so.55),这不是 与Android构建系统兼容。因此,我们需要更换 将上面的行与下面的行合并

    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)'
    
    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
    SLIB_INSTALL_LINKS='$(SLIBNAME)
    
  • 构建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
    
  • 生成输出:根据您的计算机速度,生成可能需要一段时间才能完成。完成后,您应该能够找到一个文件夹$NDK/sources/ffmpeg-3.1.1/android,其中包含arm/lib和arm/include文件夹

  • 为您的项目提供ffmpeg库
  • 以上步骤都经过了全面测试,我在我的机器上执行了这些步骤 建造成功了。为了写下这个答案,我接受了 本文的参考文献 但和旧版本一样,我对我的代码做了一些修改 拥有


    打开询问任何疑问。

    我想使用最新版本的FFMPEGI,我在最新版本@RaviVGHL的回答中已经提到twise。我在回答中给你的链接是“给出”,你可以直接从build.gradle更新最新库版本,但这里没有我已经提供的任何最新版本的库版本这也是我在官方网站上的回答,你们可以随时得到最新版本。这是过时的依赖关系。请更新您的答案我想使用最新版本的FFMPEGThank谢谢。你帮我省了2到3天的时间。@RaviVaghela:你找到最新版本的解决方案了吗?你所说的最新版本的
    FFMPEG
    是什么意思??我的意思是最新版本和你上面提供的链接有什么区别。我曾与
    FFMPEG
    android合作,并成功创建了许多视频@jankigadhiya我想在FFMPEG中使用reverse命令,但在上面提供链接的所有库中都不起作用from@jankigadhiya我需要使用reverse命令或易于反转的视频?但最新版本的可用反转命令我已经为NDK r12b执行了它,请参阅我的答案更新它是android studio的完整设置@杰德