yasm安装
# curl http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz >yasm.tar.gz 现在的版本
tar xzvf yasm.tar.gz
cd yasm-1.3.0
./configure
make
sudo make install
-
解决方案2
-
进入下载后的yasm
文件夹,通过编译安装命令yasm
./configure && make -j 4 && sudo make install
-
解决方案3
-
使用Homebrew包管理器,进行安装
brew install yasm
-
测试是否安装成功
yasm --verision
解决方案2
-
进入下载后的
yasm
文件夹,通过编译安装命令yasm
./configure && make -j 4 && sudo make install
解决方案3
-
使用Homebrew包管理器,进行安装
brew install yasm
测试是否安装成功
yasm --verision
现在视频直播非常的火,所以在视频直播开发中,使用的对视频进行遍解码的框架显得尤为重要了,其实,这种框架蛮多的,这次主要介绍一下FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器。
准备条件
-
先下载文件:https://github.com/libav/gas-preprocessor,
复制
gas-preprocessor.pl
到/usr/local/bin
下 (网上很多教程都让放在/usr/bin
下,但是现在OS X的usr/bin
目录不可写,所以放在/usr/local/bin
)修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
-
安装yasm
具体步骤如下:
1. 下载脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script
2. 解压,找到文件 build-ffmpeg.sh
解压后 cd 进目录 ,执行
$ ./build-ffmpeg.sh
-
-
编译支持
arm64
架构的静态库./build-ffmpeg.sh arm64
-
编译适用于
armv7
和x86_64(64-bit simulator)
的静态库./build-ffmpeg.sh armv7 x86_64
-
编译合并的版本
./build-ffmpeg.sh lipo
3. 执行服本文件:./build-ffmpeg.sh, 由于本人没有事先安装Yasm 执行脚本文件会出错,
如下:
意思就是说,没有yasm, 看到提示执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装
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:
8.编译好,写了个demo:点此下载
5.在工程中导入其他库文件。
libz.tbd
、ibbz2.tbd
、 libiconv.tbd
,在 3.0以后需要添加另外2个框架 VideoToolbox.framework
和 CoreMedia.framework 和AudioToolbox.framework
5.编译
因为这些库是C++,所以需要把一个文件后缀改为 .mm,这样Xcode就会自动打开C++混编,一般会把 AppDelegate.m
改为AppDelegate.mm
然后随便找个 文件,导入 avcodec.h
#include "avcodec.h"
- (void)viewDidLoad {
[super viewDidLoad];
avcodec_register_all();
}
可以运行起来说明配置成功。