IOS安装FFmpeg调用成功总结的一些问题


说一下我自己的情况。还有(ios下的ffmpegh可以下载,代码由我改,基本没啥问题)

下载地址:ffmpegh(怎么用可以看文章)


1、我是自己下载ffmpeg2.8.3版本,然后加最新的faac,x264来编译的arm64,armv7,armv7s(iphone所有的arm架构了,我是真机测试,所有不用i386了)。

编译的脚本从这里弄的:

http://blog.csdn.net/leixiaohua1020/article/details/47071547


2、编译好这几个脚本后,就可以把Fat-ffmpeg下的include放到项目目录下,SearchFileHeader设置下,指定到这个地方即可。然后就是lib导入到项目copy file的方式。然后把libbfaac.a,libx264.a(从上面的脚本生成的各自的fat目录下)。


3、这样之后,可以把libz.dylib放入项目(这个可以从/usr/local/lib下面导入进去)。即添加lib是用Other Folder然后跑到这个目录即可找到它。


4、这一切准备好,其实如果会自己调用ffmpeg库,基本也可以写代码了。不过懒人一般都跟我一样,想直接调用ffmpeg。那接着看吧。


如何直接调用ffmpeg命令?

先分析下:我们这知道编译出来的几个库(libavcodec.a...等)都只是库,然后include也只是头文件。一个好的库就是一个框架,最好不要跟其他的有什么关系,而你在终端输入的ffmpeg 或者ffmpeg -L等,都跟这个库没有太大的直接关系,也就说ffmpeg.c是调用了库里面的东西,然后编译出来的一个工具。ok,很显然了。我们要使用ffmpeg命令,那只有把ffmpeg.h,ffmpeg.c等代码放入我们的项目,然后重新编译,以便我们调用。


思路搞定,那么接下来就是把ffmpeg.h,ffmpeg.c以及ffmpeg.c依赖的文件放到我们的xcode项目了。好的,我们直接从ffmpeg2.8.3目录下

发现了我们要找的文件。全部弄进XCODE后,你会发现有一些头文件比如 <avutil/internal.h>找不到这类的。当然了,ios下的ffmpeg的include文件确实没有这个东西。


为什么呢?

我猜应该是这些头文件在ios的arm下不支持,也就不需要了。(大神吐槽,我是新手)。于是没办法,我只有把这些没有的头文件删除掉,看看影响那些代码(这个优点冒险,还有一个方法就是找到这些头文件然后放到include目录下,我没这么做。我就喜欢冒险,相信直觉)。影响的代码其实还不少,凭经验把这些去掉。差不多文件如下就可以了(看ffmpegh下):



当然了,改了之后,还有一个点,就是这里面的代码调用了time.h,就是上面的文章提到的问题。我是把include下面的time.h改了名字,改成ffmpegtime.h,然后你在xcode运行下,就发现只有一个文件ffmpeg.c调用它,修改即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
iOS打包FFmpeg是将FFmpeg库集成到iOS应用程序中的过程,以便在应用中使用FFmpeg的功能。下面是一般的iOS打包FFmpeg的步骤: 1. 下载FFmpeg代码:从FFmpeg官方网站(https://www.ffmpeg.org/)下载最新的FFmpeg代码。 2. 配置编译环境:在终端中进入FFmpeg代码目录,执行以下命令配置编译环境: ``` ./configure --enable-cross-compile --arch=arm --target-os=darwin --cc=/path/to/your/xcode/developer/usr/bin/clang --sysroot=/path/to/your/xcode/developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk --extra-cflags="-arch armv7 -mfpu=neon" --extra-ldflags="-arch armv7 -isysroot /path/to/your/xcode/developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" ``` 3. 编译FFmpeg库:执行以下命令编译FFmpeg库: ``` make ``` 4. 生成静态库:执行以下命令生成静态库文件(libffmpeg.a): ``` make install ``` 5. 创建Xcode工程:在Xcode中创建一个新的iOS应用程序工程。 6. 添加FFmpeg库:将生成的静态库文件(libffmpeg.a)拖拽到Xcode工程中,并选择"Copy items if needed"选项。 7. 配置头文件路径:在Xcode工程的"Build Settings"中找到"Header Search Paths",添加FFmpeg代码目录的路径。 8. 配置库文件路径:在Xcode工程的"Build Settings"中找到"Library Search Paths",添加FFmpeg静态库文件所在的路径。 9. 链接FFmpeg库:在Xcode工程的"Build Phases"中找到"Link Binary With Libraries",点击"+"按钮,选择添加libffmpeg.a。 10. 导入头文件:在需要使用FFmpeg功能的源代码文件中,导入相关的FFmpeg头文件。 11. 使用FFmpeg功能:通过调用FFmpeg提供的API,实现所需的功能,如音视频解码、编码、转码等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了悟生死大事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值