我计划在我的Mac上创建一个新的个人应用程序,该应用程序使用FFMPEG库来存储RTSP IP相机的提要。
按照FFMPEG的官方安装程序,我成功地实现了以下两个步骤:
要获得适用于OS X的ffmpeg,首先必须安装自制。如果你不想使用自制啤酒,请参阅下面的部分
- ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)">
然后:
-brew安装automake fdk aac git lame libass libtool libvorbislibvpx\opus sdl shtool texi2.html theora wget x264 xvid yasm
问题:我的问题是如何将库导入Xcode,以便在即将为Mac构建的应用程序中使用它,因为我很困惑。我可以在IOS/Android上看到很多与FFMPEG相关的GitHub项目,但没有一个适用于OSX。
终端下的所有FFMPEG命令都工作良好,例如转换视频等
如果您查看/usr/local/Cellar/ffmpeg
,您会发现实际的ffmpeg
包,而homebrew
中的所有内容都只是指向它的符号链接。例如:
/usr/local/bin/ffmpeg -> ../Cellar/ffmpeg/3.0.2/bin/ffmpeg
现在,如果您留在该目录中并执行此操作,您将找到ffmpeg
:组成部分的所有pkgconfig
配置设置
find . -name *.pc
./lib/pkgconfig/libavcodec.pc
./lib/pkgconfig/libavdevice.pc
./lib/pkgconfig/libavfilter.pc
./lib/pkgconfig/libavformat.pc
./lib/pkgconfig/libavresample.pc
./lib/pkgconfig/libavutil.pc
./lib/pkgconfig/libpostproc.pc
./lib/pkgconfig/libswresample.pc
./lib/pkgconfig/libswscale.pc
这意味着您现在可以找到需要放入Xcode设置中的include
路径和library
路径。因此,例如,如果您想要libavutil
的includes
,您可以执行:
pkg-config --cflags libavutil
它会告诉你:
-I/usr/local/Cellar/ffmpeg/3.0.2/include
如果您想要libavfilter
的library
设置,您可以执行:
pkg-config --libs libavfilter
它会告诉你
-L/usr/local/Cellar/ffmpeg/3.0.2/lib -lavfilter
因此,这就是获得编译器/链接器设置的方式。然后你需要把它们放入Xcode中,我在这里已经描述过了——看看带有黄色、红色和蓝色方框的部分。
希望能有所帮助。哦,你需要做:
brew install pkg-config
首先得到CCD_ 12二进制。
通常,您需要配置Xcode目标构建设置,以便将/usr/local/include
添加到标头搜索路径。
然后你的#include <ffmpeg.h>
(或者它的名字)就会开始工作了。
然后,要链接到libffmpeg.a
(或任何它的名称),您可以做以下两件事之一:
- 将文件添加到构建设置的附加库和框架中(通过文件打开对话框选择它)
- 将
/usr/local/lib
添加到库搜索路径,将-lffmpeg
添加到其他链接器标志
(1.如果你问我会更好)。
我使用的是Macports,所以对我来说路径是/opt/local/{include,lib}
,但对于Homebrew,可能会有一个额外级别的目录(比如/usr/local/ffmpeg/{include,lib}
,但你应该能够自己解决。
我不会详细介绍如何实际使用FFMPEG,因为这太复杂了(我对此一无所知)。
尽管这并不能回答这里的具体问题("如何导入这样那样的库"),
对于任何在谷歌上搜索的人来说,这些天要在OSX中使用FFmpeg,你只需要
使用著名的Kewlbear导入脚本
你可以在这里很容易地找到
https://github.com/kewlbear/FFmpeg-iOS-build-script
它什么都做。
维护这样一个构建脚本需要大量非琐碎的工作,幸运的是,有人在持续的基础上做这项工作。