簡體   English   中英

osx為Android構建ffmpeg

[英]osx build ffmpeg for android

我想為android平台構建ffmpeg源代碼。

我遵循了一些教程,但是構建失敗。

這是我的配置

  1. 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 
  2. 配置文件

    我也更改了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)'
  1. 控制台輸出
 ... 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 
  1. 問題

根據控制台輸出, libavdevice.a

在此處輸入圖片說明

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

如何修復/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,然后重新下載ndk的r14版本,而不是使用Android Studio中提供的版本。 希望這對您有用。 NDK下載鏈接

在此處輸入圖片說明

查看您的配置文件以查看是否缺少空格。 如果是這樣,則使'$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"' -> '$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM