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
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
阅读全文
0 0
- Macos下编译ffmpeg
- MacOS 下编译工具链
- 【FFmpeg】Windows下FFmpeg编译
- 【FFmpeg】Windows下FFmpeg编译
- 【ffmpeg】linux下编译ffmpeg
- 【FFmpeg】Windows下FFmpeg编译
- 在MacOS X下编译emacs23
- SDL在MACOS下的编译
- hadoop2.4.0在macos下编译源码
- MacOS下Boost编译安装指南
- MacOS 下源码编译TensorFlow (GPU版本)
- WinXP下编译ffmpeg
- Linux下编译FFMpeg
- Linux下编译FFMpeg
- windows下编译ffmpeg
- WIN32 下 编译 ffmpeg
- Windows 下编译FFmpeg
- Windows下编译ffmpeg
- 4.写一个程序,判断某一年是否是闰年。
- 使用qt将公网IP地址转换成经纬度
- 【bzoj2756: [SCOI2012]奇怪的游戏】 二分+网络流判断
- 684. Redundant Connection
- 考试反思(1)
- Macos下编译ffmpeg
- 容量b\B\KB\MB\GB,数组空间
- Xshell显示图形化界面
- perl字符串操作符
- 12.02学习计划
- 这才是一个企业级云架构该有的样子
- c++回调函数 callback
- 使用bat文件在指定目录下打开notebook
- 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)