首先,相信你已经有了ffmpeg,废话不多说,你仍然需要另外的一个文件,gas-preprocessor.pl 这个文件相信你也会想尽办法找到,所有的一切具备之后,下面让我们开始编译。
1,打开终端,cd到ffmpeg所在目录。例如:cd /users/apple/documents/ffmpeg,回车,
这里我编译了三份,分别是:i386,armv7,armv7s 框架下的,如果需要armv6框架下的可以自己尝试着编译,毕竟现在很少人用了。
好了! i386:
./configure --cc=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc --as='./gas-preprocessor.pl /Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' --extra-ldflags=-L/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/usr/lib/system
--sysroot=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-armv5te --disable-asm --enable-cross-compile --enable-decoder=h264
--enable-pic --target-os=darwin --arch=i386 --cpu=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386'
输入上面这句回车,成功后会出现类似:
License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged
WARNING: pkg-config not found, library detection may fail.
localhost:ffmpeg apple$
这样说明已经配置完了,然后 make回车。最后出现类似:
STRIP ffprobe
localhost:ffmpeg apple$
然后,make install 好了 成功了,现在你就可以将编译好的静态库,拷贝到别的地方存起来了 。类似下面这种:
cp libavcodec/libavcodec.a ./lib/i386/libavcodec.a
这样你就将 libavcodec.a库拷贝到了 i386文件夹下,当你将所需要的库全部拷贝出来后,你就可以清除掉编译好的库在当前目录下的。
执行 make clean 命令就可以了。 接下来你可以照此方法编译armv7,跟armv7s框架下的。
具体配置已经写好了:
//armv7下
./configure --cc=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='./gas-preprocessor.pl /Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --extra-ldflags='-arch
armv7 -isysroot /Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --sysroot=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk --disable-doc --disable-ffmpeg
--disable-ffplay --disable-ffserver --disable-armv5te --disable-asm --enable-cross-compile --enable-decoder=h264 --enable-pic --target-os=darwin --arch=arm --cpu=cortex-a8 --extra-cflags='-arch armv7'
//armv7s下
./configure --cc=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='./gas-preprocessor.pl /Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --extra-ldflags='-arch
armv7s -isysroot /Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --sysroot=/Applications/Xcode4.5.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk --disable-doc
--disable-ffmpeg --disable-ffplay --disable-ffserver --disable-armv5te --disable-asm --enable-cross-compile --enable-decoder=h264 --enable-pic --target-os=darwin --arch=arm --cpu=cortex-a8 --extra-cflags='-arch armv7s'
如果 三个框架下的库 你都编译完了,那说明你已经相当的成功了,只差一步,那就是将三个版本的库合成一个,那么在任何框架下就都能用了。
这样
// merge
lipo -create lib/i386/libavcodec.a lib/arm7/libavcodec.a lib/arm7s/libavcodec.a -output lib/libavcodec.a
lipo -create lib/i386/libavformat.a lib/arm7/libavformat.a lib/arm7s/libavformat.a -output lib/libavformat.a
lipo -create lib/i386/libavdevice.a lib/arm7/libavdevice.a lib/arm7s/libavdevice.a -output lib/libavdevice.a
lipo -create lib/i386/libavutil.a lib/arm7/libavutil.a lib/arm7s/libavutil.a -output lib/libavutil.a
lipo -create lib/i386/libswscale.a lib/arm7/libswscale.a lib/arm7s/libswscale.a -output lib/libswscale.a
这里的所有的路径都是我电脑上编译时的路径,具体到每台电脑上,路径不同的自己看看改了就行了 再就是我编译的时候xcode的版本是4.5.2的 所以我写的是Xcode4.5.2.app很多的地方用到 存在于路径中,你可以视具体情况而定。
再就是 有一点 步骤中的make install我一直不明白有啥用处。从网上查,很多地方都用到了 不过貌似跳过这一步也不会有任何问题,没事的时候可以拿来编译一下,也可以增加些自信。最后祝你成功。!!!
分享到:
相关推荐
编译好的ffmpeg库 for iOS 支持armv7,armv7s,不支持armv5te 这是编译好的,可以支持使用,不用再辛苦编译了。
资料包里包含了ffmpeg4.4,ffmpeg5.0的静态库。由emmc编译,可以编译成wasm文件由前端js调用,完成浏览器端的视频解码,转码等功能。 Linux下、windows 下均可调用。 与平台无关。 编译方法: emcc wasm_ffmpeg/...
适用于VC的,已经编译好的FFMpeg静态库 详细编译过程http://blog.csdn.net/wangjia184/article/details/7931164
由于FFmpeg官方只提供动态链接的lib和dll,对于需要静态链接的情况不适用,导致需要将FFmpeg的那一堆...使用VS2015工具链编译的 FFmpeg 静态库文件,编译选项为默认值。 编译源码版本为:ffmpeg-20151215-git-65877ab
分别编译的静态库可以lipo create armv7 lib libswscale a armv7s lib libswscale a arm64 lib libswscale a output libswscale a 其他 a文件同样合并 还有 sh文件中得DEST是存放三个平台下编译的库文件 ffmpeg库...
iOS开发中的视频,音频的编解码,可以直接拖进项目中使用。支出所有的IOS开发的架构。
请看清楚适用环境再下载!...但是再写了代码之后跑不通了,又花了将近一天时间发现还需要添加VideoToolBox,CoreVideo,AVFoundation和CoreMedia这几个framework才没bug了,个人经验希望可以对使用者有所帮助
用于编译用于ios手机的ffmpeg静态库,集成x264,并对库做了精简。支持的cpu架构库可根据实际需要进行调整。
FFMPEG静态库 VS2008可用
ubuntu20.04 可直接使用的ffmpeg(静态编译) built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/...
关于FFmpeg视频播放的静态库文件
ffmpeg_mac_ios编译的库 ffmpeg_mac_ios编译的库 iFrameExtractor.z01 iFrameExtractor.z02 iFrameExtractor.zip(---)
NULL 博文链接:https://justsee.iteye.com/blog/2217254
visual studio 2015编译的ffmpeg静态库
使用ffmpeg2.7按照网上教程编译的,作者没有给出库,我编译分享一下. 仅仅收一分体现一下其本身的价值.
其他说明:在网上没有找到android平台的FFmpeg库,就自己编译了一个,我用的事RTP拉流的功能,教程上说功能挺全的但是其他的功能没有使用过。本人的开发环境为:Qt For Android,感兴趣的朋友见链接:...
dll lib 头文件等 .a的静态库 FFMPEG】win10上编译FFmpeg-64位动态库教程 ...
FFmpeg 2.6.1 编译的静态库,在Xcode6 iOS8上编译, 已整合(arm64 armv7s armv7 x86_64 i386)。
ffmpeg动态静态库
编译 vs2015的ffmpeg的静态库比较麻烦,这里提供一份编译好的静态库可以直接使用。 可以用与调试。