IOS 编译x264和ffmpeg
2016-09-03 11:21
375 查看
x264编译脚本
修改SDK的路径和SDK的版本, 然后编译, 因为我已经手动下载了x264, 所以就把git clone git://git.videolan.org/x264.git x264这句注释掉
保存这位build_x264.sh, cd到build_x264.sh目录下, 然后执行./build_x264.sh, 如果没有权限, 先执行chmod 777 ./build_x264.sh
最后生成的x264库在x264目录/install/iPhoneOS里
x264库下载链接
ffmpeg编译脚本
X264_LIB 是前面编译的x264库的路径
这边ffmpeg使用的版本是2.6, 保存, 然后执行…
最后生成的库文件在build/iPhoneOS里
ffmpeg库下载链接
#!/bin/sh DEST=install SDK_VERSION="9.3" #Archs ARCHS="armv7 armv7s arm64" DEVPATH=/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDK_VERSION}.sdk #DEVPATH=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDK_VERSION}.sdk #Clone x264 #git clone git://git.videolan.org/x264.git x264 cd x264 export CC=`xcodebuild -find clang` for ARCH in $ARCHS; do echo "Building $ARCH ......" ./configure \ --host=arm-apple-darwin \ --sysroot=$DEVPATH \ --prefix=$DEST/$ARCH \ --extra-cflags="-arch ${ARCH} -mios-version-min=6.0 -fembed-bitcode" \ --extra-ldflags="-L$DEVPATH/usr/lib/system -arch ${ARCH}" \ --enable-pic \ --enable-static \ --disable-asm make -j32 && make install && make clean echo "Installed: $DEST/$ARCH" done echo "Combining library ......" BUILD_LIBS="libx264.a" OUTPUT_DIR="iPhoneOS" cd install mkdir $OUTPUT_DIR mkdir $OUTPUT_DIR/lib mkdir $OUTPUT_DIR/include LIPO_CREATE="" for ARCH in $ARCHS; do LIPO_CREATE="$LIPO_CREATE $ARCH/lib/$BUILD_LIBS " done lipo -create $LIPO_CREATE -output $OUTPUT_DIR/lib/$BUILD_LIBS cp -f $ARCH/include/*.* $OUTPUT_DIR/include/ echo "************************************************************" lipo -i $OUTPUT_DIR/lib/$BUILD_LIBS echo "************************************************************" echo "OK, merge done!"
修改SDK的路径和SDK的版本, 然后编译, 因为我已经手动下载了x264, 所以就把git clone git://git.videolan.org/x264.git x264这句注释掉
保存这位build_x264.sh, cd到build_x264.sh目录下, 然后执行./build_x264.sh, 如果没有权限, 先执行chmod 777 ./build_x264.sh
最后生成的x264库在x264目录/install/iPhoneOS里
x264库下载链接
ffmpeg编译脚本
SDKVERSION="9.3" X264_LIB=$(pwd)/../x264-lib-iOS ARCHS="armv7 armv7s arm64" #ARCHS="armv7s arm64" DEVELOPER=`xcode-select -print-path` CWD=`pwd` for ARCH in ${ARCHS} do if [ "${ARCH}" == "i386" ]; then PLATFORM="iPhoneSimulator" else PLATFORM="iPhoneOS" fi CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer" CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk" BUILD_TOOLS="${DEVELOPER}" echo "compile ${ARCH}..." CFLAGS="-fembed-bitcode -arch ${ARCH} -I$X264_LIB/include" LDFLAGS="-arch ${ARCH} -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk -L$X264_LIB/lib -lpthread -lx264" echo $X264_LIB echo $CFLAGS echo $LDFLAGS ./configure \ --prefix=build/${ARCH} \ --cc="/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" \ --as='gas-preprocessor.pl /Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' \ --sysroot=${CROSS_TOP}/SDKs/${CROSS_SDK} \ --target-os=darwin \ --arch=arm \ --extra-cflags="$CFLAGS" \ --extra-ldflags="$LDFLAGS" \ --extra-cxxflags=-fembed-bitcode \ --enable-pic \ --enable-cross-compile \ --enable-gpl \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffserver \ --disable-doc \ --enable-nonfree \ --disable-shared --enable-static --disable-debug --enable-pthreads --disable-stripping \ --disable-programs --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver \ --enable-network --enable-postproc \ --enable-protocol=http --enable-protocol=tcp --enable-protocol=udp --enable-protocol=rtp \ --enable-protocol=http --enable-protocol=rtmp --enable-protocol=file \ --enable-muxer=rtsp --enable-muxer=rtp \ --enable-demuxer=rtp --enable-demuxer=sdp --enable-demuxer=rtsp \ --disable-encoders --enable-encoder=libx264 --enable-encoder=mjpeg --enable-encoder=aac \ --enable-libx264 \ --enable-decoder=h264 --enable-demuxer=h264 --enable-parser=h264 --enable-decoder=aac --enable-decoder=aac_latm \ --disable-filters \ --disable-symver \ --disable-doc --enable-neon \ --disable-asm --disable-inline-asm \ --enable-avresample \ make clean make -j32 && make install done mkdir ${CWD}/build/iPhoneOS echo "Build library..." LIBS_A=("libavcodec.a" "libavdevice.a" "libavfilter.a" "libavformat.a" "libavutil.a" "libpostproc.a" "libswresample.a" "libswscale.a" "libavresample.a") mkdir ./build/iPhoneOS/lib/ for lib_a in ${LIBS_A[*]} do args="" for ARCH in ${ARCHS} do args=${args}" "./build/${ARCH}/lib/${lib_a} done args=${args}" -output "./build/iPhoneOS/lib/${lib_a} echo ${args} lipo -create ${args} cp -rvf ./build/arm64/include ./build/iPhoneOS/include done echo "Done."
X264_LIB 是前面编译的x264库的路径
这边ffmpeg使用的版本是2.6, 保存, 然后执行…
最后生成的库文件在build/iPhoneOS里
ffmpeg库下载链接
相关文章推荐
- ios一步一步编译ffmpeg,x264实现h264编码
- FFMpeg IOS系统编译配置选项 含X264
- ios一步一步编译ffmpeg,x264实现h264编码
- ios一步一步编译ffmpeg,x264实现h264编码
- IOS 编译ffmpeg For SDK6.1,模拟器、armv7、armv7s均可使用
- iOS下编译ffmpeg
- linux 编译ffmpeg 支持x264, x265
- iOS: FFmpeg编译和使用问题总结
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- iOS--kxmovie之FFmpeg编译和使用
- win10 msys2 vs2015 ffmpeg3.3.3 编译 带x264 aac
- ios ffmpeg编译总结
- 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)
- iOS 编译64位FFMPEG
- 最新版 FFmpeg ios 添加依赖库编译
- iOS 6.0下 FFMPEG真机编译
- 转:ffmpeg编译iOS 静态库教程
- 编译ffmpeg for iOS,并调试iFrameExtractor demo
- linux下x264 ffmpeg opencv的联合编译