gpt4 book ai didi

android - osx 为 android 构建 ffmpeg

转载 作者:行者123 更新时间:2023-12-04 22:59:36 25 4
gpt4 key购买 nike

我想为android平台构建ffmpeg源代码。

而且我遵循了一些教程,但是构建失败了。

这是我的配置

  • build_android.sh 文件
    #!/bin/bash
    NDK=/Users/***/Library/Android/ndk/android-ndk-r14b
    SYSROOT=$NDK/platforms/android-19/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-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)/androidtest/$CPU
    ADDI_CFLAGS="-marm"
    build_one
  • 配置文件

    我也改了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)'


    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'  
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
    SLIB_INSTALL_LINKS='$(SLIBNAME)'
  • 控制台输出

  • ...
    INSTALL doc/examples/demuxing_decoding.c
    INSTALL doc/examples/encode_audio.c
    INSTALL doc/examples/encode_video.c
    INSTALL doc/examples/extract_mvs.c
    INSTALL doc/examples/filter_audio.c
    INSTALL doc/examples/filtering_audio.c
    INSTALL doc/examples/filtering_video.c
    INSTALL doc/examples/http_multiclient.c
    INSTALL doc/examples/hw_decode.c
    INSTALL doc/examples/metadata.c
    INSTALL doc/examples/muxing.c
    INSTALL doc/examples/qsvdec.c
    INSTALL doc/examples/remuxing.c
    INSTALL doc/examples/resampling_audio.c
    INSTALL doc/examples/scaling_video.c
    INSTALL doc/examples/transcode_aac.c
    INSTALL doc/examples/transcoding.c
    INSTALL doc/examples/vaapi_encode.c
    INSTALL doc/examples/vaapi_transcode.c
    INSTALL doc/examples/README
    INSTALL doc/examples/Makefile
    INSTALL libavdevice/libavdevice.a
    /bin/sh: ranlib/usr/local/lib/libavdevice.a: No such file or directory
    make: *** [install-libavdevice-static] Error 127

  • 问题

  • 根据控制台输出, libavdevice.a未找到。

    enter image description here

    但我可以在取景器中找到它

    如何修复 /bin/sh: ranlib/usr/local/lib/libavdevice.a: No such file or directory错误 ?

    我在一些解析器中搜索了 make: *** [install-libavdevice-static] Error 127但不适合我。

    最佳答案

    我也遇到了同样的问题。虽然解决了,但我仍然不知道确切的原因。
    在使用 Android Studio 和 ffmpeg 4.0 中下载的 NDK 时遇到了这个错误。解决方法是用3.3.7版本替换ffmepg,重新下载r14版本的ndk,而不是使用Android studio中提供的。希望这对你有用。
    ndk下载链接

    关于android - osx 为 android 构建 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648915/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com