xcode 中使用ffmpeg 编译的静态库

1、在ffmpeg 官网下载最新的ffmpeg 源码:如下

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

2、编译ffmpeg
直接 执行 ./configure 有些mac 会报一些问题
这是本人遇到的情况

Undefined symbols for architecture x86_64:
  "_ff_filters_ssse3", referenced from:
      _put_8tap_smooth_64hv_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_regular_64hv_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_sharp_64hv_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_smooth_64v_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_regular_64v_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_sharp_64v_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      _put_8tap_smooth_64h_8_ssse3 in libavcodec.a(vp9dsp_init.o)
      ...
  "_ff_pw_m16364_804", referenced from:
      l070 in libavcodec.a(vp9itxfm_16bpp.o)
      l073 in libavcodec.a(vp9itxfm_16bpp.o)
      l082 in libavcodec.a(vp9itxfm_16bpp.o)
      l088 in libavcodec.a(vp9itxfm_16bpp.o)
      l094 in libavcodec.a(vp9itxfm_16bpp.o)
      l100 in libavcodec.a(vp9itxfm_16bpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

从上面错误情况看是vp9 不支持 ,因此用下面编译方法通过

./configure --disable-decoder=vp9 && make && make install

成功编译出mac版的ffmpeg 静态库。
3、使用xcode 调用ffmpeg 静态库
建立一个简单的xcode工程 在General里的Linked Frameworks and Libraries 里添加相应的 ffmpeg 静态库,同时也要添加相应的框架库

QuarzCore.framework
CoreMedia.framework
AudioToolbox.framework
CoreFoundation.framework
VideoDecoderAcceleration.framework
VideoToolbox.framework
libz.dylib
libav*.a (ffmepg 的静态库)

同时添加ffmpeg 头文件搜索路径

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值