zoukankan      html  css  js  c++  java
  • iOS 集成FFmpeg(通过ffmpeg.h进行调用)

    FFMpeg简介

    根据个人的理解,ffmpeg是一个多媒体转码、音视频流化传输的一个第三方开源框架,并且这个第三方库是基于C语言的(表示看不懂,一般看不懂的东西才是牛逼的)。 iOS平台下的ffmpeg主要包括以下一些功能:影音的解码、编码、编码转换、混合、抽取、串流和滤镜:相关博客:iOS9 新滤镜介绍基于GPUImage的实时美颜滤镜

    FFMpeg集成步骤

    第一步:下载FFmpeg脚本地址,获取得到如下图所示的文件夹:


    Paste_Image.png


    在这里我是将文件夹放到了桌面,可以查看此时的文件目录


    Paste_Image.png

    你会发现只包含了三个文件。

    第二步:下载完整的ffmpeg支持库。
    首先打开终端,刚开下载的文件的目录:cd 文件目录。这里我的目录是在桌面,所以:cd /Users/lxh/Desktop/FFmpeg-iOS-build-script-master 然后输入:./build-ffmpeg.sh 随后便开始了漫长的下载过程。等完全下载完成以后你会发现,桌面上的文件夹(刚下载的)多了好多的文件。,如图所示:


    Paste_Image.png

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

    第三步:集成 iOS平台下的ffmpeg

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

      Paste_Image.png
      添加完成如下所示:

      Paste_Image.png
    5. command+B编译会发现报这个错误:'config.h' file not found,这是由于找不到config.h文件,不要紧,去桌面源文件中找。于是我们在桌面文件夹中找到scratch文件夹,随便打开一个文件夹找到config.h ,拖到工程中。编译后发现这个问题得到了解决,此时工程结构如下:

      Paste_Image.png
    6. 编译后,会发现又出现了如下的问题:'libavcodec/avcodec.h' file not found和 'compat/va_copy.h' file not found,这个问题是由于没有找到对应的文件,我们继续到ffmpeg-3.0对应的文件夹中去查找,并添加。添加规则如下:compat/va_copy.h这个就是要在ffmpeg-3.0中的compat文件夹中去找va_copy.h文件。libavcodec/avcodec.h就是要到ffmpeg-3.0中的libavcodec文件夹中去查找avcodec.h。然后依次在工程的FFmpeg-iOS文件夹下的include文件夹下创建相应的文件夹,例如:compatlibavcodec文件夹,并添加相关文件。
      这一步是最繁琐的也是最容易出错的,这里不懂得可以给我回复,我会及时回答的。
    7. 将所有的文件导入以后,会得到如下结构的工程列表:

      Paste_Image.png

      8.添加工程所缺的库文件,编译后,会发现编译成功了
  • 相关阅读:
    (转)SQL Server索引进阶第四篇:页和区
    (转)SQL Server索引进阶第五篇:索引包含列
    CentOS虚拟化服务的配置(转)
    ubuntu 9.04安装xen(转)
    Linux的mount命令详解
    Linux环境下高级文件系统(转)
    安装和使用xenshell(转)
    (转)介绍ice 代理 不错的文章
    mapreduce介绍
    (转)Ubuntu Server Editon 时区设置
  • 原文地址:https://www.cnblogs.com/Ghosgt/p/7090192.html
Copyright © 2011-2022 走看看