iOS平台FFmpeg开发(一)初识FFmpeg

简介

A complete, cross-platform solution to record, convert and stream audio and video.

这是FFmpeg官网对于FFmpeg的描述,翻译过来就是FFmpeg是一个跨平台的视音频录制、转换和流媒体化的解决方案。在Windows平台上,FFmepg的使用非常广泛,大部分播放器都是基于FFmpeg内核的,比如:Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音等。而且FFmpeg的视音频编解码功能非常强大,它几乎囊括了所有的视音频编解码标准,我们熟知的格式转码工具格式工厂也是基于FFmpeg内核的。

为什么要使用FFmpeg

其实在iOS的音视频开发上,大多数情况我们都不需要引入第三方框架,苹果提供了非常方便的'AVPlyer',其性能和格式支持上的优异性使AVPlayer完全能满足大部分音视频开发的需求。但如果要在项目中增加对VR和直播的支持,AVPlayer就不能满足需求了,这个时候就有必要引入FFmpeg框架了。

预备知识

在学习使用FFmpeg之前如果没有对于视音频这方面基本知识的了解,在开发过程中就会知其然而不知其所以然,也会对FFmpeg编解码流程没有一个很好的宏观的理解,这对于学习FFmpeg是很不利的。

建议在学习使用FFmpeg之前先对流媒体协议、封装格式和编解码标准等有一些初步的认识,关于这方面雷神的这篇入门文章非常不错:
[总结]视音频编解码技术零基础学习方法

编译和导入

FFmpeg库是跨平台的,不像其他iOS框架一样拉到工程文件中直接就可以直接使用,需要我们去官网下载FFmpeg的源码并手动编译自己需要的版本。网上有很多编译和导入工程的教程,比如:
iOS 利用FFmpeg 开发音视频流(二)——Mac 系统上编译 iOS 可用的FFmpeg 库

如果导入头文件#import "avformat.h"并编译成功的话,恭喜你,你已经迈出了成功的第一步。在下一篇我会正式开始介绍FFmpeg在iOS平台上的使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,633评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,276评论 4 61
  • 入冬至今,下了两场不大不小的雪。铅灰色的天空,远处有疏朗的枝条自然地伸向天空。喜欢看着光秃秃的树枝发呆,喜欢回...
    朵墨阅读 295评论 0 0
  • 那一年,我18岁了; 正值阳刚青春。 那一年,我一度迷失过; 分不清眼前是白或黑。 那一年,时间很慢也很快; ...
    采田阅读 257评论 3 4
  • 现在我明白,其实是不是子遥巳格都已经不重要了。因为如果是子遥巳就要排斥午丑;如果不拘泥于子遥巳,午丑之火土就可以为...
    鋰電台阅读 321评论 0 0