MAC下编译FFMPEG
1、下载ffmpeg,我使用xcode自带的git下载。
或者直接下载压缩包:

2、下载gas-preprocessor脚本 https://raw.github.com/mansr/gas-preprocessor/master/gas-preprocessor.pl 并且放到 /usr/bin 中。
3、安装pkgconfig(遇到 pkg-config not found 和 glib 报错时需要安装再重新编译FFMPEG)
(一)下载安装: http://pkgconfig.freedesktop.org/releases/
cd pkg-config-0.28
./configure --with-ssl=openssl
make
sudo make install
注意:
若出现 no targets specified and no makefile found 则可能是 configure 失败;
若出现 configure: error: pkg-config and "glib-2.0 >= 2.16" not found, please set GLIB_CFLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to configure
解决办法:
(二)安装glib:http://ftp.acc.umu.se/pub/gnome/sources/glib/
# wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
# tar xvfz glib-2.22.5.tar.gz
# cd glib-2.22.5
# ./configure --prefix=/usr/local/glib-2.2
# make && make install
设置环境变量:
export GLIB_CFLAGS="-I/usr/local/glib-2.2/include/glib-2.0"
export GLIB_LIBS="-L/usr/local/glib-2.2/lib/glib-2.0"
export GMODULE_CFLAGS="-I/usr/local/glib-2.2/include"
export GMODULE_LIBS="-L/usr/local/glib-2.2/lib"
export GTHREAD_CFLAGS="-I/usr/local/glib-2.2/include"
export GTHREAD_LIBS="-L/usr/local/glib-2.2/lib"
特别强调,GMODULE和GTHREAD的相关变量必须设置,否则会遇到(gmodule-2.0 >= 2.16.0) were not met或(gthread-2.0 >= 2.16.0) were not met之类错误。(参考:http://blog.csdn.net/ldl22847/article/details/8576052)
懒得写了,按这个来做,OK
http://blog.csdn.net/cococoolwhj/article/details/8714424
测试DEMO时,添加 libbz2.dylib、libz.dylib、libiconv.dylib,修改 Header Search Paths 和 Library Search Paths 这两者的编译选项为正确的路径。
最后上图,模拟器上跑的,i386:

iphone4s 上跑的,armv7:

MAC下编译FFMPEG的更多相关文章
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- Android 环境下编译FFmpeg
Android 环境下编译FFmpeg 开发环境:Ubuntu 12.04.2 LTS , android-sdk-linux, android-ndk-r8e 一 .X264 编译 1. X2 ...
- Mac系统编译FFmpeg
转载请标明来源:我不是掌柜的博客 前言 维基百科解释:FFmpeg是一个开源软件,可以运行音频和视频多种格式的录影.转换.流功能,包含了libavcodec – 这是一个用于多个项目中音频和视频的解码 ...
- Linux下编译ffmpeg并用GDB调试
1.在Ubuntu界面上调处命令行界面,最方便的方式是使用快捷键Ctrl+Alt+T. 2.安装SDL SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作.如果不安装SDL,FFMPEG将 ...
- MAC 下编译 ANDROID P 源码 提示 internal error: Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13"]
MAC 下编译 ANDROID P 源码出现下面的问题: ninja: no work to do. [21/21] out/soong/.bootstrap/bin/soong_build out/ ...
- ffmpeg windows下编译ffmpeg
windows下编译ffmpeg 今天由于工作需求需重新编译ffmpeg,百度,goole了一大堆,看眼花缭乱的,但几乎都是三种方案,大部分都是直接转发,一字不漏,错误的缺文件的还是照转,可是问题都大 ...
- linux下编译ffmpeg 引入外部库x264
Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure ...
- mac下编译FFmpeg-Android
参考: [史上最傻瓜的]mac下编译FFmpeg-Android http://blog.csdn.net/ashqal/article/details/9381037
- VoIP应用在Ubuntu 14.04下编译FFmpeg libX264及PJSIP
PJSIP是一个开源的SIP协议栈.它支持多种SIP的扩展功能,可说算是最目前流行的SIP协议栈之一了. 它实现了SIP.SDP.RTP.STUN.TURN和ICE.PJSIP作为基于SIP的一个多 ...
随机推荐
- Java实战之04JavaWeb-03会话技术
一.会话技术简介 1.什么是会话,为什么需要会话技术? 会话:从打开一个浏览器,访问某个网站,到关闭这个浏览器的这个过程称为一次会话.http协议是状态的. 2.会话技术的分类 客户端存储技术:Coo ...
- spring定时器 @component
1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@component (把普通pojo实例化到spr ...
- SEO视频教程集合在线观看
seo是搜索引擎优化(Search Engine Optimization)的英文缩写,是指为了从搜索引擎中获得更多的免费流量,从网站结构.内容建设方案.用户互动传播.页面等角度进行合理规划,使网站更 ...
- Cursor--游标
游标--cursor['kɜːsə] 概念: 在执行SQL语句时,Oracle服务器将分配一个内存区域,不仅存储这个语句,还存储语句的结果 — 称为 ...
- Linux C 程序 指针数组和二级指针(TEN)
指针数组和二级指针 #include<stdio.h> int main(){ ] = {,,,,}; ], i; int **pp = p; //使p指针数组指向每一个a ; i < ...
- Linux C 程序指针和指针数组(NIGH)
指针和指针数组 #include<stdio.h> int main() { , b = ; int *p1 = &a , *p2 = &b ; printf(" ...
- 将C# dataTable 做为参数传入到存储过程
1.list转换为DataTable(如果有需要) public static DataTable ListToDataTable<T>(List<T> entitys) { ...
- winForm 打印预览
自己很少写技术博客,虽然已经干程序员两年多了,winform开发,web开发都干过,不论项目大小对于.net的相关技术也是了解的,如mvc,wcf,wpf,silverlight,socekt通讯,n ...
- 《C和指针》 读书笔记 -- 第13章 高级指针话题
1.函数指针 int (*f)(); int *(*f[])(); 用途: [1]回调函数 e.g. /*在一个单链表中查找指定值*/ Node *search_list(Node *node,voi ...
- Oracle的Import用法
1. imp 命令介绍 imp 命令可以通过输入各种参数来控制导出方式: imp keyword=value 或 keyword=(value1,value2,...,valueN) ,例如 i ...