iOS-集成FFmpeg

我们知道2016年被称为直播元年,随着直播的兴起,对视频进行编解码的框架显得尤为重要了,这次主要介绍FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器。

视频文件有许多格式,比如 avi, mkv, rmvb, mov, mp4等等,这些被称为容器(Container), 不同的容器格式规定了其中音视频数据的组织方式(也包括其他数据,比如字幕等)。容器中一般会封装有视频和音频轨,也称为视频流(stream)和音频 流,播放视频文件的第一步就是根据视频文件的格式,解析(demux)出其中封装的视频流、音频流以及字幕(如果有的话),解析的数据读到包 (packet)中,每个包里保存的是视频帧(frame)或音频帧,然后分别对视频帧和音频帧调用相应的解码器(decoder)进行解码,比如使用 H.264编码的视频和MP3编码的音频,会相应的调用H.264解码器和MP3解码器,解码之后得到的就是原始的图像(YUV or RGB)和声音(PCM)数据,然后根据同步好的时间将图像显示到屏幕上,将声音输出到声卡,最终就是我们看到的视频。

FFMpeg下载

1.下载FFmpeg脚本地址,下载下来后是这样的一个文件夹:

这里写图片描述

该文件夹里面有这些文件:

这里写图片描述

2.首先打开终端,输入命令:cd 文件目录(这里你只要将这个文件夹拖到终端里就行,会自动给你生成路径)。这里我的目录是在桌面:

// 注意这里要改成你自己的路径
cd  /Users/xxx/Desktop/FFmpeg-iOS-build-script-master 

然后输入命令:

./build-ffmpeg.sh 

回车之后,会发现这样一个错误:

这里写图片描述

这时候输入命令:

xcode-select --install

回车之后发现弹出一个弹出框,意思是你要安装Xcode,这时候我就纳闷了,我已经安装Xcode的了,为什么还要我安装呢,是不是因为我的版本不够新呢?我一看我的Xcode 9.2最新的,没问题啊,重启电脑也不行,实在没办法,于是我就点击安装Xcode按钮:

这里写图片描述

下载软件完成后就会开始下载FFmpeg了,有同学会问,这个下载的Xcode和我之前的有冲突吗?这个下载到底是干什么的?其实,我也不是很清楚,了解的同学可以在评论区告诉我哦,但是执行完这一步之后好像对我们的Xcode并没有什么影响啊,我猜测会不会是在检测我们的Xcode用的呢(个人猜测),反正对我们没影响就是了。接着你会看到:

这里写图片描述

这里回下载很长时间,耐心等待,真的很久,完成之后是这样的:

这里写图片描述

好了,到这里我们的FFmpeg就下载好了,打开我们之前的文件,你会发现多了四个文件:

这里写图片描述

这个就是我们刚才通过终端下载的ffmpeg的编译库。
其中FFmpeg-iOS文件是我们在项目中需要用到的,另外ffmpeg-3.0文件是全平台下载的编译文件(包含了TVOS、Mac OS、iOS等)。

FFMpeg集成

1.新建一个新项目,例如:FFmpegTest。
2.将FFmpeg-iOS文件夹(桌面下载的ffmpeg库文件)添加到LHTestFFmpeg工程中。
3.配置头文件搜索路径:在工程文件->Bulid Setting->Search Paths->Header Search Paths添加 (SRCROOT)/ ( S R C R O O T ) / (PRODUCT_NAME)/FFmpeg-iOS/include,(请根据自己实际路径更改)

这里写图片描述

导入相关依赖库
这里写图片描述

到这里基本就把FFmpeg集成完毕了,但是FFmpeg是用C语言写的,研究起来很费力,需要有一定的C语言基础,但是它确实很强大。

Demo下载地址:https://github.com/MichaelSSY/FFmpegTest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值