2016最新FFmpeg-iOS静态库编译
2016-07-15 15:40
1091 查看
一直在电商圈混迹,最近想自己找找视频图像方面的项目做做练手,于是打算从FFmpeg这个比较流行的框架开始,但是竟然因为一个“GNU assembler not found, install/update gas-preprocessor”问题,困扰了我一整天,所以写篇博客记录编译过程。希望能帮到打算做尝试的朋友们。
官方最新地址,github上也有以下其他的地址,但是其gas-preprocessor是几年前的,这种日期的gas-preprocessor在编译的时候会出现文章开始说的“GNU assembler not found, install/update gas-preprocessor”的问题。所以一定要下载最新的。
复制gas-preprocessor.pl到/usr/sbin下;
修改文件权限,终端输入以下信息:chmod 777 /usr/sbin/gas-preprocessor.pl
修改gas-preprocessor, 打开gas-preprocessor根据项目需求进行改动
cd 进入你的yasm最新版中,执行以下命令行代码:
下载完成后,将FFmpeg放入到yasm目录下。
cd进入下载build-ffmpeg.sh目录下,执行代码:
展示一下编译结束的命令行:
文件夹中会多出一个FFmpeg-iOS的静态库文件,这就是我们编译要得到的库,如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/11/7ee1ce55385b616477617d9164fa38e3)
将FFmpeg拖入项目中就可以使用了。
下载gas-preprocessor.pl
github地址:https://github.com/libav/gas-preprocessor官方最新地址,github上也有以下其他的地址,但是其gas-preprocessor是几年前的,这种日期的gas-preprocessor在编译的时候会出现文章开始说的“GNU assembler not found, install/update gas-preprocessor”的问题。所以一定要下载最新的。
复制gas-preprocessor.pl到/usr/sbin下;
修改文件权限,终端输入以下信息:chmod 777 /usr/sbin/gas-preprocessor.pl
修改gas-preprocessor, 打开gas-preprocessor根据项目需求进行改动
use strict; # Apple's gas is ancient and doesn't support modern preprocessing features like # .rept and has ugly macro syntax, among other things. Thus, this script # implements the subset of the gas preprocessor used by x264 and ffmpeg # that isn't supported by Apple's gas.
下载安装yasm
下载yasm最新版本:http://www.tortall.net/projects/yasm/releases/cd 进入你的yasm最新版中,执行以下命令行代码:
MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ ./configure MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ make MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ sudo make install
下载FFmpeg最新版本
FFmpeg官方地址:http://ffmpeg.org/download.html#build-mac下载完成后,将FFmpeg放入到yasm目录下。
运行build-ffmpeg.sh脚本
下载build-ffmpeg.sh:http://download.csdn.net/detail/perfect_promise/9435587cd进入下载build-ffmpeg.sh目录下,执行代码:
MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$./build-preprocessor.sh
展示一下编译结束的命令行:
building fat binaries... lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavcodec.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavcodec.a -output FFmpeg-iOS/lib/libavcodec.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavdevice.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavdevice.a -output FFmpeg-iOS/lib/libavdevice.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavfilter.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavfilter.a -output FFmpeg-iOS/lib/libavfilter.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavformat.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavformat.a -output FFmpeg-iOS/lib/libavformat.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavutil.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavutil.a -output FFmpeg-iOS/lib/libavutil.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libswresample.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libswresample.a -output FFmpeg-iOS/lib/libswresample.a lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libswscale.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libswscale.a -output FFmpeg-iOS/lib/libswscale.a Done
文件夹中会多出一个FFmpeg-iOS的静态库文件,这就是我们编译要得到的库,如下
将FFmpeg拖入项目中就可以使用了。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Managed Media Aggregation using Rtsp and Rtp
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [总结]FFMPEG视音频编解码零基础学习方法
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 更新linux底层库(openssl)
- 修复mysql数据库
- nodejs中的fiber(纤程)库详解
- 桌面中心(一)创建数据库
- 利用Ffmpeg获得flv视频缩略图和视频时间的代码
- 浅析C语言头文件和库的一些问题
- codeigniter教程之上传视频并使用ffmpeg转flv示例
- 桌面中心(三)修改数据库
- 目前流行的JavaScript库的介绍及对比
- 讲解iOS开发中基本的定位功能实现