话不多说, 直接上脚本

#!/bin/sh

# directories
PLATFORM="OSX"
# FFmpeg脚本目录
SOURCE="ffmpeg-2.8.7"
FAT="$PLATFORM/$SOURCE/FFmpeg-OSX" SCRATCH="$PLATFORM/$SOURCE/scratch"
THIN=`pwd`/"$PLATFORM/$SOURCE/thin" # CONFIGURE_FLAGS="--enable-cross-compile \
# --enable-nonfree \
# --enable-libfaac \
# --enable-libmp3lame \
# --enable-libtheora \
# --enable-libvorbis \
# --enable-libxvid \
# --enable-libass \
# --enable-libspeex \
# --enable-libx264 \
# --enable-libvpx \
# --enable-opencl \
# --disable-ffmpeg \
# --enable-gpl \
# --disable-outdev=sdl \
# --disable-ffplay \
# --disable-debug \
# --disable-ffserver \
# --enable-static \
# --enable-shared " CONFIGURE_FLAGS="--enable-cross-compile \
--enable-nonfree \
--enable-opencl \
--disable-ffmpeg \
--enable-gpl \
--disable-outdev=sdl \
--disable-ffplay \
--disable-debug \
--disable-ffserver \
--enable-static \
--enable-shared " CWD=`pwd`
# ARCHS="x86_64 i386"
ARCHS="i386" # FAAC="/usr/local/Cellar/faac/1.28"
# LAMP="/usr/local/Cellar/lame/3.99.5"
# THEORA="/usr/local/Cellar/theora/1.1.1"
# VORBIS="/usr/local/Cellar/libvorbis/1.3.5"
# XVID="/usr/local/Cellar/libxvid/1.3.4"
# ASS="/usr/local/Cellar/libass/0.13.2"
# SPEEX="/usr/local/Cellar/speex/1.2rc1"
# VPX="/usr/local/Cellar/libvpx/1.6.0"
# X264="/usr/local/Cellar/x264/r2668" for ARCH in $ARCHS
do
echo "building $ARCH..."
mkdir -p "$SCRATCH/$ARCH"
cd "$SCRATCH/$ARCH" CFLAGS="-arch $ARCH" SDK="macosx" XCRUN_SDK=`echo $SDK | tr '[:upper:]' '[:lower:]'`
CC="xcrun -sdk $XCRUN_SDK clang"
CXXFLAGS="$CFLAGS"
LDFLAGS="$CFLAGS" if [ "$FAAC" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfaac"
CXXFLAGS="$CXXFLAGS -I$FAAC/include"
LDFLAGS="$LDFLAGS -L$FAAC/lib"
fi
if [ "$LAMP" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libmp3lame"
CXXFLAGS="$CXXFLAGS -I$LAMP/include"
LDFLAGS="$LDFLAGS -L$LAMP/lib"
fi
if [ "$THEORA" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libtheora"
CXXFLAGS="$CXXFLAGS -I$THEORA/include"
LDFLAGS="$LDFLAGS -L$THEORA/lib"
fi
if [ "$VORBIS" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libvorbis"
CXXFLAGS="$CXXFLAGS -I$VORBIS/include"
LDFLAGS="$LDFLAGS -L$VORBIS/lib"
fi
if [ "$XVID" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libxvid"
CXXFLAGS="$CXXFLAGS -I$XVID/include"
LDFLAGS="$LDFLAGS -L$XVID/lib"
fi
if [ "$ASS" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libass"
CXXFLAGS="$CXXFLAGS -I$ASS/include"
LDFLAGS="$LDFLAGS -L$ASS/lib"
fi
if [ "$SPEEX" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libspeex"
CXXFLAGS="$CXXFLAGS -I$SPEEX/include"
LDFLAGS="$LDFLAGS -L$SPEEX/lib"
fi
if [ "$VPX" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libvpx"
CXXFLAGS="$CXXFLAGS -I$VPX/include"
LDFLAGS="$LDFLAGS -L$VPX/lib"
fi
if [ "$X264" ]
then
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libx264"
CXXFLAGS="$CXXFLAGS -I$X264/include"
LDFLAGS="$LDFLAGS -L$X264/lib"
fi TMPDIR=${TMPDIR/%\/} $CWD/$SOURCE/configure \
--target-os=darwin \
--arch=$ARCH \
$CONFIGURE_FLAGS \
--extra-cflags="$CXXFLAGS" \
--extra-ldflags="$LDFLAGS" \
--prefix="$THIN/$ARCH" \
|| exit
# --cc="$CC" \ make -j3 install $EXPORT || exit
cd $CWD
done
echo Done

该脚本只要放在FFmpeg源码上一层目录即可运行.

测试过是可以跑起来的, 但是要添加其他的编译参数则要相应的库, 而其他库的i386版也需要自己编译, 网上没有找到, 也希望有大神可以帮忙编译

FFmpeg编译i386 OSX 脚本的更多相关文章

  1. iOS: FFMpeg编译和使用问题总结

    iOS: FFmpeg编译和使用问题总结 折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来.如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分 ...

  2. iOS: FFmpeg编译和使用 学习

    ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFM ...

  3. FFMpeg编译之路

    为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...

  4. ndk开发-ffmpeg编译

    进入模拟器shell: D:\Users\zhouhaitao\AppData\Local\Android\sdk\platform-tools\adb shell ndk编译链接静态库: LOCAL ...

  5. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  6. 2010_3_1最新 完整 FFMPEG 编译详解

    在网上看了很多编译详解,都很零散.经过自己的编译,解决一些BUG,在此分享自己的一些经验... 话不多说了!直接上贴. 第一步:准备编译平台. 需要 一个 MinGW 和 一个 MSYS 安装包 以及 ...

  7. ffmpeg 编译安装

    1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装. sudo apt-get install yasm 1.2.下载FFmpeg git ...

  8. Mac FFmpeg编译和解决nasm/yasm not found or too old错误

    FFmpeg编译下载代码:git clone https://git.ffmpeg.org/ffmpeg.git然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然 ...

  9. FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)

    环境:FFmpeg 3.4.6Xcode 10.3macOS 10.14.6iOS SDK 12.4 一.准备工作 1. 下载FFmpeg我这里使用的是3.4.6版本的FFmpeg,可以从FFmpeg ...

随机推荐

  1. 配置IIS服务:无法找到该页 您正在搜索的页面可能已经删除、更名或暂时不可用。

    1.配置IIS服务器时,在默认网站创建虚拟目录XXX.然后右击启动页面.aspx,“浏览” 2.  出现错误: 无法找到该页 您正在搜索的页面可能已经删除.更名或暂时不可用. ------------ ...

  2. 【总结整理】javascript的函数调用时是否加括号

    javascript的函数调用时是否加括号 if(event.preventDefault){ event.preventDefault(); if判断条件里面不要加括号,不加括号是应该以属性形式,i ...

  3. Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题

    一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...

  4. ObservableCollection 分组后排序报错问题

    ObservableCollection通过Move方法可以移动顺序,如下: 将ObservableCollection中的一个item置顶: private ObservableCollection ...

  5. Python实现R包brainwaver中的compute.FDR函数

    FDR(false discovery rate),是统计学中常见的一个名词,翻译为伪发现率,其意义为是 错误拒绝(拒绝真的(原)假设)的个数占所有被拒绝的原假设个数的比例的期望值. compute. ...

  6. Spring入门第二十三课

    我们看基于XML配置的方式配置AOP 看代码: package logan.study.aop.impl; public interface ArithmeticCalculator { int ad ...

  7. [转]Node.JS package.json 字段全解析

    Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...

  8. 【linux-command not find解决方法 】

    在linux下我们经常输入某些命令时经常出现提示说:command not find 首先 当出现 command not find时肯定是环境变量的问题,所以得修改环境变量.下面我也引用一下其他牛人 ...

  9. (转)web端测试环境的搭建(tomcat)

    C/s架构,常见的QQ这种结构的程序是有服务器来提供服务的,客户端来使用服务:B/S架构不需要安装客户端,只需要浏览器就可以了例如QQ农场,BS架构的程序在更新维护的时候,不需要更新客户端,仅在服务器 ...

  10. PAT 1087【二级最短路】

    二级最短路+二级最短路,就是DP过程吧. 代码稍微注释一些,毕竟贴代码不好.. #include<bits/stdc++.h> using namespace std; typedef l ...