mac上編譯FFmpeg
FFmpeg庫下載地址:http://ffmpeg.org/olddownload.html
找到FFmpeg 2.6.9版本下載下來
解壓開啟configure,下拉到2779行,修改下面配置
修改前
SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
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='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
#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)'
修改完儲存檔案
建立build_android.sh,放在檔案FFmpeg 2.6.9下,裡寫入
#!/bin/bash
make clean
export NDK=/Users/cool/Library/Android/sdk/ndk-bundle
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
注:
- NDK修改為你本地的路徑
- TOOLCHAIN,如果你是linux環境的話為$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
完了cd到FFmpeg 2.6.9,然後執行./build_android.sh
執行完後同級目錄會生成android目錄,裡面包含生成的so庫和標頭檔案,特別注意的是我們需要的so是帶後面帶數字的,比如:libavcodec-56.so
相關文章
- 交叉編譯-Mac環境使用NDK編譯FFmpeg編譯Mac
- FFmpeg系列(一)-Mac環境下使用NDK編譯FFmpegMac編譯
- Mac中編譯FFmpeg教程(Android版)Mac編譯Android
- 【FFmpeg】Windows下FFmpeg編譯Windows編譯
- 【FFmpeg】Windows下64位ffmpeg編譯Windows編譯
- 安裝編譯ffmpeg編譯
- 編譯並裁剪 FFmpeg 在 Android 上做視訊編輯編譯Android
- Make編譯之編譯32bit ffmpeg編譯
- FFmpeg學習之一(FFmpeg原始碼編譯)原始碼編譯
- NDKr20編譯ffmpeg-4.2.2編譯
- ffmpeg為視訊新增時間戳 - 手動編譯ffmpeg時間戳編譯
- 編譯FFMPEG原始碼的指令碼編寫案例編譯原始碼指令碼
- FFmpeg編譯Android使用的so庫編譯Android
- Android-ffmpeg編譯so檔案Android編譯
- FFmpeg音視訊編譯配置選項編譯
- 我的第一個ffmpeg程式(編譯及呼叫ffmpeg函式)編譯函式
- FFmpeg開發筆記(七)尤拉系統編譯安裝FFmpeg筆記編譯
- FFmpeg開發筆記(十):ffmpeg在ubuntu上的交叉編譯移植到海思HI35xx平臺筆記Ubuntu編譯
- ffmpeg安裝之linux編譯安裝Linux編譯
- ffmpeg iOS平臺編譯 指令碼註釋iOS編譯指令碼
- iOS: FFmpeg編譯和使用問題總結iOS編譯
- 用 NDK 編譯 ffmpeg 到 Android 平臺編譯Android
- FFmpeg開發筆記(八)Linux交叉編譯Android的FFmpeg庫筆記Linux編譯Android
- mac上Apk反編譯工具合集整理與資源MacAPK編譯
- CMake for Mac編譯工具Mac編譯
- 編譯Android下可執行命令的FFmpeg編譯Android
- iOS FFmpeg XCode編譯報錯問題 AVMediaTypeiOSXCode編譯
- Android 基於ffmpeg開發簡易播放器 - NDK交叉編譯ffmpegAndroid播放器編譯
- 第一章 FFmpeg初體驗:在Centos7.9下編譯FFmpeg!CentOS編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 從fdk_aac編碼器到自動靜態編譯FFmpeg編譯
- 29.FFmpeg+OpenGLES+OpenSLES播放器實現(三.FFmpeg配置和編譯指令碼)播放器編譯指令碼
- Mac平臺反編譯Unity編譯的安卓apkMac編譯Unity安卓APK
- 在Mac上用自己編譯出的DNX執行.NET程式Mac編譯
- 第二章 編譯FFmpeg並開啟H.264編碼編譯
- 反編譯系列教程(上)編譯
- Mac 編譯安裝 PHPRedis 模組Mac編譯PHPRedis
- 為 Android 編譯並整合 FFmpeg 的嘗試與踩坑Android編譯