FFmpeg在iOS上完美编译
来源:互联网 发布:淘宝怎么排名靠前 编辑:程序博客网 时间:2024/06/08 14:42
最近刚接触ffmpeg,找了很多相关的编译资料,都没有编译成功,前几天在 github上找到一个脚本(https://github.com/kewlbear/FFmpeg-iOS-build-script),就可完美编译
准备条件
先下载文件:https://github.com/libav/gas-preprocessor,
复制gas-preprocessor.pl到/usr/sbin下,
修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
安装yasm
具体步骤如下:
1. 下载脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script
2. 解压,找到文件 build-ffmpeg.sh
3. 执行服本文件:./build-ffmpeg.sh, 由于本人没有事先安装Yasm 执行脚本文件会出错,
如下:
MAC:FFmpeg-iOS-build-script-master-2 jinsonglnan$ ./build-ffmpeg.sh
Yasm not found
Homebrew not found. Trying to install...
Whoops, the Homebrew installer has moved! Please instead run:
ruby -e
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Also, please ask wherever you got
this
link from to update it to the above.
Trying to install Yasm...
./build-ffmpeg.sh: line 67: brew: command not found
意思就是说,没有yasm, 看到提示执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装
4.编译完成后,终端进入FFmpeg-iOS-build-script目录,然后输入./build-ffmpeg.sh lipo,这个命令是讲.a文件合并成一个
5.把ffmpeg-iOS文件加入到工程中
6.添加一个头文件引用 #include "avformat.h"
添加一个api语句:av_register_all();给一个类文件.m后缀改为.mm,开启混编模式。
运行工程,如果没有报错,则表明编译成功
7.其他注意细节
编译的时候报错: 'libavcodec/avcodec.h' file not found ,修改Header search paths 里的路径:$(PROJECT_DIR)/FFmpeg-iOS/include
加入External libraries:
libz.dylib
libbz2.dylib
libiconv.dylib
8.编译好,写了个demo:点此下载
下载博主的demo。
此篇转载自http://www.cocoachina.com/ios/20150514/11827.html
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在Mac上完美编译
- FFmpeg在iOS上编译
- 在iOS上编译FFmpeg
- FFmpeg完美编译iOS版本
- FFmpeg框架在iOS平台上的编译和使用
- FFmpeg框架在iOS平台上的编译和使用
- ffmpeg在windows上编译
- 在linux上编译ffmpeg
- 马云:阿里巴巴必须成为国家和世界创新的发动机
- nginx https
- input radio
- HTML5跨应用的使用体验
- 前端代码优化基本方法
- FFmpeg在iOS上完美编译
- Session和Cookie总结
- FMI飞马网 | 在人工智能时代,如何更好地发挥大数据的价值?
- Fedora 24以下 可以使用NetworkManager创建Bridge 25以上需要用命令行或者nm-connection-editor创建Bridge
- 关闭指定应用的进程
- JS-addEventListener方法介绍
- aj
- linux下的SHELL脚本学习
- Unity3D项目程序加密-VirboxProtector加壳工具