FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)
环境:
FFmpeg 3.4.6
Xcode 10.3
macOS 10.14.6
iOS SDK 12.4
一.准备工作
1. 下载FFmpeg
我这里使用的是3.4.6版本的FFmpeg,可以从FFmpeg官网下载最新(http://www.ffmpeg.org)或者历史版本(http://www.ffmpeg.org/releases/)的FFmpeg。
2. 下载最新的gas-preprocessor.pl
由这里(https://github.com/libav/gas-preprocessor)下载最新的gas-preprocessor.pl,下载完毕后将gas-preprocessor.pl拷贝到/usr/local/bin目录下, 并且修改权限使其可执行。
// 跳转到该目录
cd /usr/local/bin
// 修改访问权限
chmod gas-preprocessor.pl
3. 检查mac是否已安装Command Line Tools
具体请参见:https://www.cnblogs.com/yongdaimi/p/11723573.html
4. 下载编译脚本
从https://github.com/kewlbear/FFmpeg-iOS-build-script 这里下载iOS版本的编译脚本。
二. 准备编译
1. 将下载下来的FFmpeg3.4.6压缩包拷贝到与编译脚本相同的目录下,并解压该压缩包:

2. 修改编译脚本中FFmpeg的版本号
打开build-ffmpeg.sh, 修改FF_VERSION后面的版本号,使其于下载下来的FFmpeg版本号保持一致。

3. 回到终端,执行./build-ffmpeg.sh,开始编译

整个过程大约会持续5~8分钟,耐心等待编译结束。编译结束后会在当前目录下生成FFmpeg-iOS文件夹,里面包含有我们将要使用的头文件和库文件:

该编译脚本已经自动将armv7, arm64, i386, x86_64 四个平台的库整合到了一起,我们可以使用lipo命令查看该静态库的详细信息:

其它
1. 以上所使用的资源
链接: https://pan.baidu.com/s/1oWt8GqxA34PfSIzYnL1Mjw 提取码: aphj
FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)的更多相关文章
- 多媒体开发(7):编译Android与iOS平台的FFmpeg
编译FFmpeg,一个古老的话题,但小程还是介绍一遍,就当记录.之前介绍怎么给视频添加水印时,就已经提到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/ ...
- mac下编译FFmpeg-Android
参考: [史上最傻瓜的]mac下编译FFmpeg-Android http://blog.csdn.net/ashqal/article/details/9381037
- Mac 下编译 Hadoop
Mac 下编译 Hadoop-2.9.2 系统环境 系统: Mac OS_10.14.4 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 ProtocolBu ...
- 在iOS平台使用ffmpeg解码h264视频流(转)
在iOS平台使用ffmpeg解码h264视频流,有需要的朋友可以参考下. 对于视频文件和rtsp之类的主流视频传输协议,ffmpeg提供avformat_open_input接口,直接将文件路径或UR ...
- 在iOS平台使用ffmpeg解码h264视频流
来源:http://www.aichengxu.com/view/37145 在iOS平台使用ffmpeg解码h264视频流,有需要的朋友可以参考下. 对于视频文件和rtsp之类的主流视频传输协议,f ...
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a以及 FrameWork 的创建
armv7,armv7s,arm64,i386,x86_64 详解 一.概要 平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如: 在真机上编译报错 ...
- Mac下编译libpomelo静态库,并在cocos2dx项目中引用
最近在学习cocos2dx的过程中需要和服务器进行交互,所以这几天在学习libpomelo静态库的编译和使用.之前在windows系统下编译libpomelo,并在VS中引入比较顺利:但是,目前对Ma ...
- FFmpeg在Linux下编译使用
文章转自:http://www.cnblogs.com/CoderTian/p/6655568.html 1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通 ...
随机推荐
- mysqldump 备份与恢复数据库
备份数据库 mysqldump -u root -plvtao test > /home/bak.sql 数据库还原,常用source 命令登陆 mysql -u root -p mysql&g ...
- jQuery和bootstrap
1. jQuery学习,搜索开发者网络: js学习: https://www.apeland.con/web/20/568 https://www.apeland.con/web/21 vue饿了么 ...
- git---怎样将分支上的一个单文件合并到主分支上(master)
一.首先切换到主分支 注意将分支上的数据全部提交 以免造成数据冲突或丢失 git checkeout master 二.选择要合并的文件 git checkout --patch 分支名称 要合并 ...
- 【Linux】缺少service命令的解决办法
执行保存防火墙策略报错:提示没有找到service的文件遇到这个问题后,执行下面的命令,需要安装一个包initscripts rpm -qa | grep initscripts yum list | ...
- centos7单用户模式
1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 如果用的是kvm做了c ...
- Locust 教程
写在 Locust 教程开始的前面 本文参考了: Locust 教程 : https://www.axihe.com/tools/locust/home.html : locust 的官方 Githu ...
- 最小哈希 minhash
最小哈希 维基百科,自由的百科全书 跳到导航跳到搜索 在计算机科学领域,最小哈希(或最小哈希式独立排列局部性敏感哈希)方法是一种快速判断两个集合是否相似的技术.这种方法是由Andrei Bro ...
- 适合于做项目与团队管理的工具(Choerodon)
官网链接:http://choerodon.io/zh/ 此处不做太多的介绍,需要了解的朋友进入官网进行查看. Choerodon猪齿鱼开源多云技术平台,是基于开源技术Kubernetes,Istio ...
- Linux 系统 Composer 安装
Composer 是个包管理工具 在项目中使用它会很方便 本文中用 PHP 安装 1.下载安装 执行命令 curl -sS https://getcomposer.org/installer | ph ...
- maven项目重构-使用了mybatis generator插件
1.在worksapce下,dos窗口输入spring init -g=com.briup.apps -a=poll3 -d=mysql,mybatis,web poll3 2.下载依赖,cd到pol ...