FFmpeg+xh264+libaac(音頻解碼) 集成編譯

網(wǎng)上看了許多的微博,關(guān)于這個方面的很少消别,所以想寫點傻瓜式的抛蚤,新手一看就會,還不要那么麻煩妖啥。方便研究底層的同學(xué)霉颠。

先下載FFmpeg和x264都會用到的腳本

下載gas-pregprcessor?將文件放到/usr/local/bin的文件夾下

首先是編譯下x264

1 先去官網(wǎng)下載x264解碼器源碼 解壓?

2 下載x264執(zhí)行腳本?

將腳本 和 源碼放在同級目錄下

終端執(zhí)行 ./build-x264.sh 腳本即可?

3 ?編譯libaac?參考這個這個大神的微博 執(zhí)行腳本文件?注意

4 下載FFmpeg源碼

FFmpeg執(zhí)行腳本 將編譯好的

#!/bin/sh

# directories

SOURCE="ffmpeg-3.2"

FAT="FFmpeg-iOS"

SCRATCH="scratch"

# must be an absolute path

THIN=`pwd`/"thin"

# absolute path to x264 library

X264=`pwd`/fat-x264

FDK_AAC=`pwd`/../fdk-aac-build-script-for-iOS/fdk-aac-ios

CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs \

--disable-doc --enable-pic"

if["$X264"]

then

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-gpl --enable-libx264"

fi

if["$FDK_AAC"]

then

CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac"

fi

# avresample

#CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample"

ARCHS="arm64 armv7 x86_64 i386"

COMPILE="y"

LIPO="y"

DEPLOYMENT_TARGET="6.0"

if["$*"]

then

if["$*"="lipo"]

then

# skip compile

COMPILE=

else

ARCHS="$*"

if[ $# -eq1]

then

# skip lipo

LIPO=

fi

fi

fi

if["$COMPILE"]

then

if[ !`which yasm`]

then

echo'Yasm not found'

if[ !`which brew`]

then

echo'Homebrew not found. Trying to install...'

ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"\

||exit1

fi

echo'Trying to install Yasm...'

brew install yasm ||exit1

fi

if[ !`which gas-preprocessor.pl`]

then

echo'gas-preprocessor.pl not found. Trying to install...'

(curl -L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \

-o /usr/local/bin/gas-preprocessor.pl \

&& chmod +x /usr/local/bin/gas-preprocessor.pl) \

||exit1

fi

if[ ! -r $SOURCE ]

then

echo'FFmpeg source not found. Trying to download...'

curl http://www.ffmpeg.org/releases/$SOURCE.tar.bz2 | tar xj \

||exit1

fi

CWD=`pwd`

forARCHin$ARCHS

do

echo"building $ARCH..."

mkdir -p"$SCRATCH/$ARCH"

cd"$SCRATCH/$ARCH"

CFLAGS="-arch $ARCH"

if["$ARCH"="i386"-o"$ARCH"="x86_64"]

then

PLATFORM="iPhoneSimulator"

CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET"

else

PLATFORM="iPhoneOS"

CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode"

if["$ARCH"="arm64"]

then

EXPORT="GASPP_FIX_XCODE5=1"

fi

fi

XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'`

CC="xcrun -sdk $XCRUN_SDK clang"

CXXFLAGS="$CFLAGS"

LDFLAGS="$CFLAGS"

if["$X264"]

then

CFLAGS="$CFLAGS -I$X264/include"

LDFLAGS="$LDFLAGS -L$X264/lib"

fi

if["$FDK_AAC"]

then

CFLAGS="$CFLAGS -I$FDK_AAC/include"

LDFLAGS="$LDFLAGS -L$FDK_AAC/lib"

fi

TMPDIR=${TMPDIR/%\/} $CWD/$SOURCE/configure \

--target-os=darwin \

--arch=$ARCH \

--cc="$CC"\

$CONFIGURE_FLAGS \

--extra-cflags="$CFLAGS"\

--extra-ldflags="$LDFLAGS"\

--prefix="$THIN/$ARCH"\

||exit1

make -j3 install $EXPORT ||exit1

cd $CWD

done

fi

if["$LIPO"]

then

echo"building fat binaries..."

mkdir -p $FAT/lib

set - $ARCHS

CWD=`pwd`

cd $THIN/$1/lib

forLIBin*.a

do

cd $CWD

echo lipo -create`find $THIN -name $LIB`-output $FAT/lib/$LIB1>&2

lipo -create`find $THIN -name $LIB`-output $FAT/lib/$LIB ||exit1

done

cd $CWD

cp -rf $THIN/$1/include $FAT

fi

echo Done

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末对碌,一起剝皮案震驚了整個濱河市荆虱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朽们,老刑警劉巖怀读,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異骑脱,居然都是意外死亡菜枷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門叁丧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啤誊,“玉大人,你說我怎么就攤上這事拥娄∥们拢” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵稚瘾,是天一觀的道長牡昆。 經(jīng)常有香客問我,道長摊欠,這世上最難降的妖魔是什么丢烘? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮些椒,結(jié)果婚禮上播瞳,老公的妹妹穿的比我還像新娘。我一直安慰自己免糕,他們只是感情好赢乓,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著说墨,像睡著了一般骏全。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尼斧,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天姜贡,我揣著相機(jī)與錄音,去河邊找鬼棺棵。 笑死楼咳,一個胖子當(dāng)著我的面吹牛熄捍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播母怜,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼余耽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苹熏?” 一聲冷哼從身側(cè)響起碟贾,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轨域,沒想到半個月后袱耽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡干发,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年朱巨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枉长。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡冀续,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出必峰,到底是詐尸還是另有隱情洪唐,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布自点,位于F島的核電站桐罕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏桂敛。R本人自食惡果不足惜功炮,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望术唬。 院中可真熱鬧薪伏,春花似錦、人聲如沸粗仓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽借浊。三九已至塘淑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚂斤,已是汗流浹背存捺。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捌治。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓岗钩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肖油。 傳聞我的和親對象是個殘疾皇子兼吓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容