linux 编译 ffmpeg libx264 lib265 libfdk-aac

一 、下载安装包

二、安装gcc

  1. 查看服务器是否安装gcc
    执行 gcc --version

出现如上结果需要安装
执行 yum install gcc
装好后

三 、安装bzip2 用于解压
执行:`yum -y install bzip2'

四 、安装yasm

  1. 解压yasm
    执行: tar -zxvf yasm-1.3.0.tar.gz
  2. 进入解压目录
    执行: cd yasm-1.3.0
  3. 编译和安装
    执行1: ./configure
    执行2: make
    执行3:make install
  4. 查看安装结果
    执行 yasm --version

五 、安装nasm

  1. 解压nasm
    执行: tar jxvf nasm-2.13.tar.bz2
  2. 进入目录
    执行:cd nasm-2.13
  3. 编译和安装
    执行1:./configure
    执行2:make
    执行3:make install
  4. 查看安装结果


六 、编译libx264

  1. 解压x264
    执行: tar jxvf last_x264.tar.bz2
  2. 进入解压目录
    cd x264-snapshot-20190522-2245/
  3. 编写编译脚本
    build_x264.sh 放到 x264-snapshot-20190522-2245/ 目录里
#!/bin/bash

PREFIX=../ffmpeg/thirdparty/libx264

function build_one
{
./configure \
--enable-asm \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--enable-strip \

make 
make install

}
build_one

4.编译
执行 ./build_x264.sh

七、编译libx265

  1. 加压
    tar -xzvf x265_3.3.tar.gz
    cd x265_3.3/build/linux

2 修改脚本文件 make-Makefiles.bash

#!/bin/bash
# Run this from within a bash shell
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/root/gupan/linux-ffmpeg/ffmpeg/thirdparty/libx265 -DENABLE_LIBNUMA:bool=off -DENABLE_SHARED:bool=on ../../source

3.执行


make clean
 
sh make-Makefiles.bash
 
make
 
make install

八、编译libfdk-aac

  1. 下载fdk-aac,解压
    https://sourceforge.net/projects/opencore-amr/files/fdk-aac/

tar -xzvf fdk-aac-2.0.1.tar.gz
cd fdk-aac-2.0.1

2.编写编译脚本
build_fdk-aac.sh 放到fdk-aac/ 目录里

#!/bin/bash
PREFIX=/root/gupan/linux-ffmpeg/ffmpeg/thirdparty/libfdk-aac

function build_one
{
./configure \
--prefix=$PREFIX\

make 
make install

}

build_one

3.执行脚本
./build_fdk-aac.sh

报错


解决办法:在linux终端下执行 :autoreconf -vfi

九、编译librtmp

  1. 下载代码
    下载地址

rtmpdump-2.3.tgz

  1. 解压
    执行:tar -xzvf rtmpdump-2.3.tgz

3.安装依赖库

  • openssl

http://www.openssl.org/ 我下的是1.0.1f版本。
tar zxvf openssl-1.0.1f.tar.gz
cd openssl-1.0.1f
./config --prefix=/usr
make
sudo make install

  • zlib

然后安装zlib:
http://www.zlib.net/
tar zxvf zlib-1.2.11.tar.gz ,解压时出现一点错误,但是不要仅。


cd zlib-1.2.11
make test (参数是看了readme后加的)
sudo make install

3.进入
执行:cd rtmpdump-2.3/

4.编译


  • 修改makefile目标位置
  • LDFLAGS=-Wall $(XLDFLAGS) -ldl
  • make
    -执行脚本
    install.sh
#!/bin/bash
prefix=/root/gupan/linux-ffmpeg/ffmpeg/thirdparty/librtmp
mkdir -p $prefix $prefix/lib $prefix/include $prefix/man3 $prefix/pkgconfig
cd librtmp
cp amf.h http.h log.h rtmp.h $prefix/include
cp librtmp.a  $prefix/lib
cp librtmp.pc $prefix/pkgconfig
cp librtmp.3 $prefix/man3
cp librtmp.so $prefix/lib
cp librtmp.so.0 $prefix/lib

十、编译ffmpeg

  1. 解压fmepg
    tar jxvf ffmpeg-4.1.3.tar.bz2

  2. 移动thirdparty 文件夹到 ffmpeg-4.1.3.
    mv ./ffmpeg/thirdparty/ ffmpeg-4.1.3
    重命名文件夹为 ffmpeg

3.编写编译脚本
build_ffmpeg.sh

#!/bin/bash

basepath=$(cd `dirname $0`; pwd)
THIRDPARTYPATH=$basepath/thirdparty

LIBX264_INCLUDE=$THIRDPARTYPATH/libx264/include     
LIBX264_LIB=$THIRDPARTYPATH/libx264/lib         

LIBX265_INCLUDE=$THIRDPARTYPATH/libx265/include     
LIBX265_LIB=$THIRDPARTYPATH/libx265/lib 

LIBOPUS_INCLUDE=$THIRDPARTYPATH/libopus/include     
LIBOPUS_LIB=$THIRDPARTYPATH/libopus/lib 
#LIBMP3LAME_INCLUDE=$THIRDPARTYPATH/libmp3lame/include      
#LIBMP3LAME_LIB=$THIRDPARTYPATH/libmp3lame/lib          

#LIBSPEEX_INCLUDE=$THIRDPARTYPATH/libspeex/include      
#LIBSPEEX_LIB=$THIRDPARTYPATH/libspeex/lib  



#LIBVPX_INCLUDE=$THIRDPARTYPATH/libvpx/include      
#LIBVPX_LIB=$THIRDPARTYPATH/libvpx/lib  

#LIBILBC_INCLUDE=$THIRDPARTYPATH/libilbc/include        
#LIBILBC_LIB=$THIRDPARTYPATH/libilbc/lib    

#LIBOPENCV_INCLUDE=$THIRDPARTYPATH/libopencv/install/include        
#LIBOPENCV_LIB=$THIRDPARTYPATH/libopencv/lib    

#LIBOPENSSL_INCLUDE=$THIRDPARTYPATH/libopenssl/include      
#LIBOPENSSL_LIB=$THIRDPARTYPATH/libopenssl/lib  

function build_one
{
./configure \
--prefix=$PREFIX \
--extra-cflags="-I$LIBX264_INCLUDE -I$LIBX265_INCLUDE -I$LIBOPUS_INCLUDE -O4 -g" \
--extra-ldflags="-L$LIBX264_LIB  -L$LIBX265_LIB -L$LIBOPUS_LIB -lpthread -ldl" \
--disable-shared \
--enable-static \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--enable-pthreads \
--disable-small \
--disable-network \
--enable-iconv \
--disable-x86asm \
--enable-libx264 \
--enable-libx265 \
--enable-libopus \
--enable-encoder=aac \
--enable-encoder=mpeg4 \
--enable-encoder=mjpeg \
--enable-encoder=png \
--enable-muxer=mov \
--enable-muxer=mp4 \
--enable-muxer=adts \
--enable-muxer=h264 \
--enable-muxer=mjpeg \
--disable-decoders \
--enable-decoder=pcm_mulaw \
--enable-decoder=aac \
--enable-decoder=aac_latm \
--enable-decoder=mp3 \
--enable-decoder=h264 \
--enable-decoder=mpeg4 \
--enable-decoder=mjpeg \
--enable-decoder=png \
--disable-demuxers \
--enable-demuxer=image2 \
--enable-demuxer=h264 \
--enable-demuxer=aac \
--enable-demuxer=mp3 \
--enable-demuxer=mpc \
--enable-demuxer=mpegts \
--enable-demuxer=mov \
--disable-parsers \
--enable-parser=aac \
--enable-parser=ac3 \
--enable-parser=h264 \
--disable-protocols \
--enable-protocol=file \
--enable-protocol=concat \
--enable-filters \
--disable-outdevs \
--disable-doc \
--disable-debug \
--disable-ffprobe \
--disable-postproc \
--disable-avdevice \
--disable-symver \
--disable-stripping \
--disable-encoder=aac \
--disable-decoder=aac \
--enable-encoder=libfdk_aac \
--enable-decoder=libfdk_aac \
--enable-encoder=libfdk_aac \
--enable-decoder=libfdk_aac \
--enable-libfdk-aac

$ADDITIONAL_CONFIGURE_FLAG

 #  make -j8
 #   make install
}
# arm v7vfp
CPU=
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=armv7-a "
OPTIMIZE_CFLAGS="-Wno-deprecated-declarations"
ADDI_CFLAGS=""
PREFIX=./out
build_one

执行脚本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容