如何构建FFMPEG并将其链接到iOS?
全部 我知道,这里有很多关于iOS上FFMPEG的问题,但没有一个答案适合我的情况:( 当我试图在我的项目中链接FFMPEG时,每次都会发生一些奇怪的事情,所以请帮帮我 我的任务是为iOS编写视频聊天应用程序,它使用RTMP协议向自定义Flash媒体服务器发布和读取视频流 我决定使用rtmplib,这是一个免费的开源库,用于通过RTMP传输FLV视频,因为它是唯一合适的库 当我开始研究它时,出现了许多问题,但后来我明白了它应该如何工作 现在,在我的应用程序的帮助下,我可以读取FLV视频的实时流(从url)并将其发送回频道 我现在的问题是从摄像机发送视频。 据我所知,基本操作顺序如下:如何构建FFMPEG并将其链接到iOS?,ios,ffmpeg,Ios,Ffmpeg,全部 我知道,这里有很多关于iOS上FFMPEG的问题,但没有一个答案适合我的情况:( 当我试图在我的项目中链接FFMPEG时,每次都会发生一些奇怪的事情,所以请帮帮我 我的任务是为iOS编写视频聊天应用程序,它使用RTMP协议向自定义Flash媒体服务器发布和读取视频流 我决定使用rtmplib,这是一个免费的开源库,用于通过RTMP传输FLV视频,因为它是唯一合适的库 当我开始研究它时,出现了许多问题,但后来我明白了它应该如何工作 现在,在我的应用程序的帮助下,我可以读取FLV视频的实时流(
iMac-2:MediaLibiOS root# lipo -info libavformat.a
Architectures in the fat file: libavformat.a are: armv6 armv7 i386
我发现这对我来说很合适!
当我试图将这个库和头添加到xCode项目中时,它编译得很好(我甚至没有“库是为另一个体系结构编译的”)这样的警告,我可以使用头中的结构,但当我试图从libavformat(av_register_all())调用C函数时,编译器会向我显示错误消息“Symbol”未找到架构armv7:av_寄存器_all”的
我想,可能lib中没有符号,并试图显示它们:
root# nm -arch armv6 libavformat.a | grep av_register_all
00000000 T _av_register_all
现在我被困在这里,我不明白,为什么xCode不能看到这个符号,不能前进
如果我对从iOS发布RTMP流的流程理解错误,请纠正我,并帮助我构建和链接iOS的FFMPEG
我有iphone5.1。SDK和xCode 4.2。为iOS SDK 5.1编译FFMpeg 使用AppStore版本的XCode(更改脚本路径) 这对我有用。还要确保在项目“链接二进制文件与库”中添加以下内容:
因此,我很高兴在第(2)步中得到任何提示,谢谢:)我想为这个问题写一个答案,即使它是旧的,因为没有一个被接受的答案 根据问题中给出的解释,我假设他能够准确地编译FFmpeg的源代码。如果有人害怕这样做,那么已经有一个编译版本可供下载 无论如何,我认为错误的原因是在项目的构建设置中没有给出标题搜索路径 您可以做的是,将您的Xcode项目路径添加到Header Search Paths键,并将其设置为递归 我相信你必须链接下面提到的所有三个库,而不仅仅是前两个
- libz.dylib
- libbz2.dylib
- libiconv.dylib