FFMpeg之路

4 篇文章 0 订阅
2 篇文章 0 订阅

已经做了一段时间的直播间软件的开发,由于目前直播技术基本都已经很成熟,在很多核心方面已经有了成熟的解决方案,比如FFMpeg,LF、OBS等,直播软件的技术都可以从这些地方获取到,所以目前的直播软件的开发,主要都是针对于各种业务,比如玩法、活动等,但是毕竟是属于直播行业,对于直播的核心技术还是要尽可能地了解、学习,最好能够掌握一些经典的技术,所以我开始学习一些比较优秀的库----FFmpeg。

首先是环境搭建,现在FFmpeg的应用已经覆盖到了各个端,所以编译是一件很简单的事情,在此,基于iOS的编译方法,介绍我所接触到的两种,

        1.很普遍的FFmpeg-iOS-build-script脚本,很简单,可以参考一下链接:

        iOS完美编译

        2.第二种则是借鉴另外一个大神的版本,大神取名叫花式编译FFmpeg,包含了各个端的编译,在此介绍一个用法,先贴github地址:花式编译FFmpeg(avbuild.sh),简介一下使用方法吧(针对iOS),毕竟项目里面也有介绍:

        a.从github上拉取FFmpeg分支,然后在另个地方,拉取这个编译的分支;

        b.设置FFmpg的目录,export FFSRC="你自己的FFmpeg的目录",如果你已经有过这个目录,并且做过其他方式的编译,在使用这个编译方式时,最好在FFmpeg里面使用git clean -dfx去掉一些可能影响的文件;

        c.然后进入到这个编译项目的目录,使用命令./avbuild.sh "platform" "arch" 即可,编译生成文件将在该目录下sdk-platform-arch的路径下面,例如,我的平台是iOS,结构是arm64,所以应该是./avbuild.sh ios arm64,然后生成的结果在sdk-ios-arm64的路径下。

编译部分到此结束,其实在编译过程中,编译脚本本身也是很有意思的一部分,所以在以后,这一块的知识也得学些。

然后在我的iOS demo中使用FFmpeg的时候,一直编译不过,提示是以下内容

这个问题我查了好久,一度以为是我的FFmpeg的库编译有问题,所以我尝试前面的提到的两种方法,并且使用lipo查看静态库文件,也是arm64的,所以库的问题排除了,然后又尝试设置了编译器的c/c++选项,也不对,在网上查看也都不行,直到我看到一篇博客,是使用gcc编译cpp文件,出现了类似的问题,所以才想起来,我将iOS的.m文件改成了.mm文件一遍使用c++,然后在引入头文件的时候,C语言的extern:

然后编译的时候,以上错误便不存在了,可能因为OC是对C语言的封装,所以在使用C++的时候没需要这个操作吧,具体的原因我再查看一下。

到此,iOS的FFmpeg环境基本OK了,后面我会继续学习使用FFmpeg,然后分享一些心得体会。

如果有什么错误和问题,也希望大神们指正! 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值