Macos下编译ffmpeg

来源:互联网 发布:java web文件上传方式 编辑:程序博客网 时间:2024/05/21 18:48
mac下编译已经测试通过
ffmpeg版本号:ffmpeg-3.3.5
gcc -v: Apple LLVM version 8.1.0 (clang-802.0.42)
        Target: x86_64-apple-darwin16.6.0
macos 10.12.5




1.下载ffmpeg源码


2.配置,编译


  (2.1)  最简单的编译方式 
     配置编译脚本
     ./configure --enable-shared --disable-static
     
     清理一下上次编译产生的一些文件
     make clean


     执行编译脚本  -j4可以更好的利用多核cpu, 同时跑4个任务
     make -j4


     编译后的安装,(拷贝.h .a文件到指定目录(--prefix=\xxx\xxx)中)
     make install


    (2.2) 新建 build_mac_shared.sh脚本文件,拷贝下面代码


   #输出路径
PREFIX=$(pwd)/output_mac_dylib
#编译类型,动态库
BUILD_TYPE="--disable-static --enable-shared" 




#configure的一些特殊参数
CONFIGURE_EXTRA_PARAMS=""


#分析输入参数,如果是dev则加上调试参数
if [ $# == 1 ] ; then
if [ "$1" == "dev" ] ; then
  PREFIX=${PREFIX}"_dev" 
  CONFIGURE_EXTRA_PARAMS=" --enable-debug=3 --disable-optimizations --disable-asm --disable-stripping --extra-cflags=-g --extra-ldflags=-g"
fi
fi




#添加libx264支持
function add_libx264
{
 #libx264编译输出的路径
 LIBX264_PATH="/Users/zhufeifei/opensource/x264-snapshot-20171128-2245-stable/output_mac_static/" 
 EXTRA_CFLAGS=" --extra-cflags=-I"${LIBX264_PATH}"include"
 EXTRA_LDFLAGS=" --extra-ldflags=-L"${LIBX264_PATH}"lib"
 CONFIGURE_EXTRA_PARAMS=$CONFIGURE_EXTRA_PARAMS" --enable-libx264 "$EXTRA_CFLAGS$EXTRA_LDFLAGS
}




#编译动态库
function build 
{  
./configure --prefix=$PREFIX \
--enable-gpl \
$BUILD_TYPE --enable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--enable-avdevice \
--disable-symver \
$CONFIGURE_EXTRA_PARAMS


    #等待60秒,如果输入y则退出,不进行编译了
read -p "configure ok exit(y/n)" -t 60  input
if [ "$input" == "y" ] ; then
 echo "exit"
 exit
fi


make clean
make -j4
make install
}


#开始执行


#添加libx264的支持
add_libx264
echo $CONFIGURE_EXTRA_PARAMS
#开始编译
build




    ------------------命令行中执行
    切换到ffmpeg源码路径下
    cd /xx/xxx/ffmpeg/    
    生成output_mac_dylib目录中
    ./build_mac_shared.sh


     生成output_mac_dylib_dev目录中,这个可以调试的
    ./build_mac_shared.sh dev
原创粉丝点击