我是靠谱客的博主 朴素冰淇淋,最近开发中收集的这篇文章主要介绍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 头文件搜索路径

最后

以上就是朴素冰淇淋为你收集整理的xcode 中使用ffmpeg 编译的静态库的全部内容,希望文章能够帮你解决xcode 中使用ffmpeg 编译的静态库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部