From 2a88207e5e51e55b67f28449176a28904acd58da Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 2 Apr 2014 18:24:54 +0900 Subject: [PATCH 01/73] update README [ci skip] --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ee653790..db568d85 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg http://git.videolan.org/?p=ffmpeg.git;a=commit;h=f29cdbe1b59a0d997733b507041e15ec68cef00c -* Xcode 5.0.2 -* https://github.com/libav/gas-preprocessor (support arm64) +* FFmpeg 2.2 release +* Xcode 5.1 +* https://github.com/libav/gas-preprocessor (for arm64) +* yasm 1.2.0 ## Usage @@ -30,9 +31,14 @@ Tested with: ## Download -https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios.tar.bz2 +You can download a binary for FFmpeg 2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-sf.tar.bz2 -Currently, arm64 architecture is not included in the download. +## Linking + +You might have to link with + +* libbz2.dylib +* libiconv.dylib ## Influences From 77e52beab0032298a09999e71b84bf5332ba72db Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 3 Apr 2014 09:51:59 +0900 Subject: [PATCH 02/73] update README [ci skip] --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db568d85..c6eaf98d 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,11 @@ Tested with: You can download a binary for FFmpeg 2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-sf.tar.bz2 -## Linking +## External libraries -You might have to link with +You should link with +* libz.dylib * libbz2.dylib * libiconv.dylib From e09a49b67631969566e64a39dbf54fdcd728bbea Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 14 Apr 2014 15:19:35 +0900 Subject: [PATCH 03/73] FFmpeg 2.2.1 --- build-ffmpeg.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 09e46c43..ae345ad7 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.2" +SOURCE="ffmpeg-2.2.1" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -71,7 +71,7 @@ then if [ ! -r $SOURCE ] then echo 'FFmpeg source not found. Trying to download...' - curl http://www.ffmpeg.org/releases/ffmpeg-2.2.tar.bz2 | tar xj \ + curl http://www.ffmpeg.org/releases/ffmpeg-2.2.1.tar.bz2 | tar xj \ || exit 1 fi From a2620d6ddb85d70e7918a07a5d8c89df57b89328 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 14 Apr 2014 15:53:31 +0900 Subject: [PATCH 04/73] updated README.md [skip ci] --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c6eaf98d..6bcde1f9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # FFmpeg iOS build script -[![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.png?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) +[![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=2.2.1)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.2 release +* FFmpeg 2.2.1 * Xcode 5.1 * https://github.com/libav/gas-preprocessor (for arm64) * yasm 1.2.0 @@ -31,7 +31,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-sf.tar.bz2 +You can download a binary for FFmpeg 2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-2.2.1.tar.bz2 ## External libraries From 0ddf991f30dbb99a4ca0ba39a93f67f3cb009289 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 14 Apr 2014 16:05:47 +0900 Subject: [PATCH 05/73] update README [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bcde1f9..995b4b76 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-2.2.1.tar.bz2 +You can download a binary for FFmpeg 2.2.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-2.2.1.tar.bz2 ## External libraries From 63162c537e8869a20294d51e43b5ba2fcba22971 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 8 May 2014 15:40:06 +0900 Subject: [PATCH 06/73] updated for FFmpeg 2.2.2 --- .travis.yml | 2 +- build-ffmpeg.sh | 4 ++-- build-x264.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 87525ca6..3157f873 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: - TARBALL=ffmpeg-ios-$TRAVIS_BRANCH.tar.bz2 after_success: - - tar cjf $TARBALL FFmpeg-iOS .stderr scratch/*/config.log ffmpeg/LICENSE ffmpeg/COPYING.* + - tar cjf $TARBALL FFmpeg-iOS .stderr scratch/*/config.log ffmpeg*/LICENSE ffmpeg*/COPYING.* README.md - openssl aes-256-cbc -k "$secret" -in .sf -d -a -out id_sf - chmod 600 id_sf - scp -i id_sf -o 'StrictHostKeyChecking no' $TARBALL koolbear@frs.sourceforge.net:/home/frs/project/ffmpeg-ios diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index ae345ad7..62fc477e 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.2.1" +SOURCE="ffmpeg-2.2.2" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -71,7 +71,7 @@ then if [ ! -r $SOURCE ] then echo 'FFmpeg source not found. Trying to download...' - curl http://www.ffmpeg.org/releases/ffmpeg-2.2.1.tar.bz2 | tar xj \ + curl http://www.ffmpeg.org/releases/$SOURCE.tar.bz2 | tar xj \ || exit 1 fi diff --git a/build-x264.sh b/build-x264.sh index c94b7cbc..25e6edc4 100755 --- a/build-x264.sh +++ b/build-x264.sh @@ -65,7 +65,7 @@ then fi XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` - CC="xcrun -sdk $XCRUN_SDK clang" + CC="xcrun -sdk $XCRUN_SDK clang -Wno-error=unused-command-line-argument-hard-error-in-future" AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC" CFLAGS="-arch $ARCH $SIMULATOR" CXXFLAGS="$CFLAGS" From 56ce96c8a60ed3cf705be178d06c3370656a8324 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 8 May 2014 16:14:40 +0900 Subject: [PATCH 07/73] update README [ci skip] --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 995b4b76..28868fd4 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.2.1 -* Xcode 5.1 +* FFmpeg 2.2.2 +* Xcode 5.1.1 * https://github.com/libav/gas-preprocessor (for arm64) * yasm 1.2.0 @@ -31,7 +31,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.2.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-2.2.1.tar.bz2 +You can download a binary for FFmpeg 2.2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries From e0751082373cc5835f4298d57e59ec029d09da85 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 23 Jun 2014 18:27:52 +0900 Subject: [PATCH 08/73] Updated for FFmpeg 2.2.3 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 28868fd4..ecd2c503 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # FFmpeg iOS build script -[![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=2.2.1)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) +[![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.2.2 +* FFmpeg 2.2.3 * Xcode 5.1.1 * https://github.com/libav/gas-preprocessor (for arm64) * yasm 1.2.0 diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 62fc477e..bf046bca 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.2.2" +SOURCE="ffmpeg-2.2.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From 31c496f5a9ce9931fabb0712fb4c19e6188b3f1d Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 24 Jun 2014 11:51:41 +0900 Subject: [PATCH 09/73] Updated for FFmpeg 2.2.4 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ecd2c503..d09f9b49 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.2.3 +* FFmpeg 2.2.4 * Xcode 5.1.1 * https://github.com/libav/gas-preprocessor (for arm64) * yasm 1.2.0 @@ -31,7 +31,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.2.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.2.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index bf046bca..aef1a62d 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.2.3" +SOURCE="ffmpeg-2.2.4" FAT="FFmpeg-iOS" SCRATCH="scratch" From 741f8e1bfb3a803cd24044a12ad62c6d0fca1b99 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Fri, 4 Jul 2014 10:26:39 +0900 Subject: [PATCH 10/73] Added Stack Overflow in Korean link [no ci] --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d09f9b49..175538ac 100644 --- a/README.md +++ b/README.md @@ -44,3 +44,5 @@ You should link with ## Influences * https://github.com/bbcallen/ijkplayer/blob/fc70895c64cbbd20f32f1d81d2d48609ed13f597/ios/tools/do-compile-ffmpeg.sh#L7 + +Stack Exchange Q&A site proposal: Stack Overflow (in Korean) From a2f3d86e38f0e656aa0c334bfebcee8d610011b4 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 10 Jul 2014 09:45:25 +0900 Subject: [PATCH 11/73] update README [ci skip] --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 175538ac..5f58eff5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,10 @@ Tested with: * FFmpeg 2.2.4 * Xcode 5.1.1 -* https://github.com/libav/gas-preprocessor (for arm64) + +## Requirements + +* https://github.com/libav/gas-preprocessor * yasm 1.2.0 ## Usage @@ -35,7 +38,7 @@ You can download a binary for FFmpeg 2.2.4 release at https://downloads.sourcefo ## External libraries -You should link with +You should link your app with * libz.dylib * libbz2.dylib From bacfc2faf17d3cbc9e41c98c27bc5bc7ae852b49 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 15 Jul 2014 14:41:44 +0900 Subject: [PATCH 12/73] added support for fdk-aac [ci skip] --- build-ffmpeg.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index aef1a62d..2d7694f6 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -11,6 +11,8 @@ THIN=`pwd`/"thin" # absolute path to x264 library #X264=`pwd`/fat_x264 +#FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios + CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs \ --disable-doc --enable-pic" @@ -19,6 +21,11 @@ then CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-gpl --enable-libx264" fi +if [ "$FDK_AAC" ] +then + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac" +fi + # avresample #CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample" @@ -105,6 +112,11 @@ then CFLAGS="$CFLAGS -I$X264/include" LDFLAGS="$LDFLAGS -L$X264/lib" fi + if [ "$FDK_AAC" ] + then + CFLAGS="$CFLAGS -I$FDK_AAC/include" + LDFLAGS="$LDFLAGS -L$FDK_AAC/lib" + fi $CWD/$SOURCE/configure \ --target-os=darwin \ From 58c18df81c27867652bba3a3facf671b0a15b7e4 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 21 Jul 2014 12:40:24 +0900 Subject: [PATCH 13/73] updated to FFmpeg 2.3 --- README.md | 2 +- build-ffmpeg.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5f58eff5..88c7845c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.2.4 +* FFmpeg 2.3 * Xcode 5.1.1 ## Requirements diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 2d7694f6..1cc886af 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.2.4" +SOURCE="ffmpeg-2.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From b3493ad25f4c3fb9e6939c160c08160979f7803a Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 21 Jul 2014 14:15:16 +0900 Subject: [PATCH 14/73] update README [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 88c7845c..a9c0bd6c 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.2.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries From 920518fdc58103b87553fb9ea93628ccf33dbbb0 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 21 Jul 2014 14:19:30 +0900 Subject: [PATCH 15/73] updated to FFmpeg 2.3 [ci skip] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3157f873..27a884c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: - TARBALL=ffmpeg-ios-$TRAVIS_BRANCH.tar.bz2 after_success: - - tar cjf $TARBALL FFmpeg-iOS .stderr scratch/*/config.log ffmpeg*/LICENSE ffmpeg*/COPYING.* README.md + - tar cjf $TARBALL FFmpeg-iOS .stderr scratch/*/config.log ffmpeg*/LICENSE.md ffmpeg*/COPYING.* README.md - openssl aes-256-cbc -k "$secret" -in .sf -d -a -out id_sf - chmod 600 id_sf - scp -i id_sf -o 'StrictHostKeyChecking no' $TARBALL koolbear@frs.sourceforge.net:/home/frs/project/ffmpeg-ios From 14d5b4250b5a590256420d4a5ce19c836624d1e4 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 4 Aug 2014 14:15:19 +0900 Subject: [PATCH 16/73] updated for 2.3.1 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a9c0bd6c..e51f571c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.3 +* FFmpeg 2.3.1 * Xcode 5.1.1 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 1cc886af..25c56222 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.3" +SOURCE="ffmpeg-2.3.1" FAT="FFmpeg-iOS" SCRATCH="scratch" From 1d0b506f27659e5715e4716a2bc83a8b1b871ace Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 18 Aug 2014 12:28:41 +0900 Subject: [PATCH 17/73] updated for 2.3.3 --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 25c56222..9b909d90 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.3.1" +SOURCE="ffmpeg-2.3.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From 9f75b1ce4b733233019a678065715f5f32e4697f Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 18 Aug 2014 12:53:56 +0900 Subject: [PATCH 18/73] update README [ci skip] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e51f571c..73064b3c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.3.1 +* FFmpeg 2.3.3 * Xcode 5.1.1 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.3.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries From 6b57b023a4338c203b6b56a8d8a0a86b60483cad Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 4 Sep 2014 09:36:38 +0900 Subject: [PATCH 19/73] fix #16 --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 9b909d90..020b58a3 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -9,7 +9,7 @@ SCRATCH="scratch" THIN=`pwd`/"thin" # absolute path to x264 library -#X264=`pwd`/fat_x264 +#X264=`pwd`/fat-x264 #FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios From dbc275a2715e90f34d514fa8dce93d3957ba5b45 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 15 Sep 2014 11:28:34 +0900 Subject: [PATCH 20/73] Moved x264 script to https://github.com/kewlbear/x264-ios. [skip ci] --- build-x264.sh | 102 -------------------------------------------------- 1 file changed, 102 deletions(-) delete mode 100755 build-x264.sh diff --git a/build-x264.sh b/build-x264.sh deleted file mode 100755 index 25e6edc4..00000000 --- a/build-x264.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh - -CONFIGURE_FLAGS="--enable-static --enable-pic --disable-cli --disable-asm" - -ARCHS="arm64 armv7s x86_64 i386 armv7" - -# directories -SOURCE="x264" -FAT="fat-x264" - -SCRATCH="scratch-x264" -# must be an absolute path -THIN=`pwd`/"thin-x264" - -COMPILE="y" -LIPO="y" - -if [ "$*" ] -then - if [ "$*" = "lipo" ] - then - # skip compile - COMPILE= - else - ARCHS="$*" - if [ $# -eq 1 ] - then - # skip lipo - LIPO= - fi - fi -fi - -if [ "$COMPILE" ] -then - CWD=`pwd` - for ARCH in $ARCHS - do - echo "building $ARCH..." - mkdir -p "$SCRATCH/$ARCH" - cd "$SCRATCH/$ARCH" - - if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ] - then - PLATFORM="iPhoneSimulator" - CPU= - if [ "$ARCH" = "x86_64" ] - then - SIMULATOR="-mios-simulator-version-min=7.0" - HOST= - else - SIMULATOR="-mios-simulator-version-min=5.0" - HOST="--host=i386-apple-darwin" - fi - else - PLATFORM="iPhoneOS" - if [ $ARCH = "armv7s" ] - then - CPU="--cpu=swift" - else - CPU= - fi - SIMULATOR= - HOST="--host=arm-apple-darwin" - fi - - XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` - CC="xcrun -sdk $XCRUN_SDK clang -Wno-error=unused-command-line-argument-hard-error-in-future" - AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC" - CFLAGS="-arch $ARCH $SIMULATOR" - CXXFLAGS="$CFLAGS" - LDFLAGS="$CFLAGS" - - CC=$CC $CWD/$SOURCE/configure \ - $CONFIGURE_FLAGS \ - $HOST \ - $CPU \ - --extra-cflags="$CFLAGS" \ - --extra-ldflags="$LDFLAGS" \ - --prefix="$THIN/$ARCH" - - make -j3 install - cd $CWD - done -fi - -if [ "$LIPO" ] -then - echo "building fat binaries..." - mkdir -p $FAT/lib - set - $ARCHS - CWD=`pwd` - cd $THIN/$1/lib - for LIB in *.a - do - cd $CWD - lipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIB - done - - cd $CWD - cp -rf $THIN/$1/include $FAT -fi From e8e7e357df1134da8fc1ce61ca5ade449c884dcf Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 23 Sep 2014 10:15:40 +0900 Subject: [PATCH 21/73] updated for 2.4.1 --- README.md | 6 +++--- build-ffmpeg.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 73064b3c..3b0b8326 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.3.3 -* Xcode 5.1.1 +* FFmpeg 2.4.1 +* Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.3.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.4.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 020b58a3..b17fa042 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.3.3" +SOURCE="ffmpeg-2.4.1" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -118,7 +118,7 @@ then LDFLAGS="$LDFLAGS -L$FDK_AAC/lib" fi - $CWD/$SOURCE/configure \ + TMPDIR=${TMPDIR/%\/} $CWD/$SOURCE/configure \ --target-os=darwin \ --arch=$ARCH \ --cc="$CC" \ From 17f0987d376f99b747fd9b1638579140eea172e6 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 6 Oct 2014 17:39:44 +0900 Subject: [PATCH 22/73] updated to 2.4.2 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3b0b8326..91a89096 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.4.1 +* FFmpeg 2.4.2 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.4.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.4.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index b17fa042..5554f7dd 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.4.1" +SOURCE="ffmpeg-2.4.2" FAT="FFmpeg-iOS" SCRATCH="scratch" From c76b85af36f82698a174e6d6a10aa1c31d1c22a9 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 3 Nov 2014 10:33:49 +0900 Subject: [PATCH 23/73] update for 2.4.3 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 91a89096..a31e74e3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.4.2 +* FFmpeg 2.4.3 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.4.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.4.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 5554f7dd..1a7fd0de 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.4.2" +SOURCE="ffmpeg-2.4.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From d18da0f44c7a769ff040fdf018405ffdadcdb714 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 3 Nov 2014 10:46:35 +0900 Subject: [PATCH 24/73] trying to fix gas-preprocessor download problem --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 1a7fd0de..9cce8b31 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -69,7 +69,7 @@ then if [ ! `which gas-preprocessor.pl` ] then echo 'gas-preprocessor.pl not found. Trying to install...' - (curl -3L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \ + (curl -L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \ -o /usr/local/bin/gas-preprocessor.pl \ && chmod +x /usr/local/bin/gas-preprocessor.pl) \ || exit 1 From ba992353396517e6bfa331a0cecfabed11f8c3f9 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 1 Dec 2014 14:56:27 +0900 Subject: [PATCH 25/73] updated for 2.4.4 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a31e74e3..0b94a0bc 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.4.3 +* FFmpeg 2.4.4 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.4.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.4.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 9cce8b31..4941b674 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.4.3" +SOURCE="ffmpeg-2.4.4" FAT="FFmpeg-iOS" SCRATCH="scratch" From 73523a6a9b723b12a0549d0538374b51be98a63c Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 4 Dec 2014 14:26:18 +0900 Subject: [PATCH 26/73] updated for 2.5 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0b94a0bc..0acf9d3c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.4.4 +* FFmpeg 2.5 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.4.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.5 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 4941b674..7c576acc 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.4.4" +SOURCE="ffmpeg-2.5" FAT="FFmpeg-iOS" SCRATCH="scratch" From df4d5ee05e8af33d1ab77fb254a284d9e0974953 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 16 Dec 2014 16:33:04 +0900 Subject: [PATCH 27/73] updated for 2.5.1 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0acf9d3c..6bd1f895 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.5 +* FFmpeg 2.5.1 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.5 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.5.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 7c576acc..fc47273f 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.5" +SOURCE="ffmpeg-2.5.1" FAT="FFmpeg-iOS" SCRATCH="scratch" From 947e6c88e767a2878736d5316b04ec705e37ab71 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 24 Dec 2014 10:42:19 +0900 Subject: [PATCH 28/73] updated for 2.5.2 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bd1f895..f64d6895 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.5.1 +* FFmpeg 2.5.2 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.5.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.5.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index fc47273f..259a354e 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.5.1" +SOURCE="ffmpeg-2.5.2" FAT="FFmpeg-iOS" SCRATCH="scratch" From 8f57a6bbdacd4f0c9b00129944ee57dd2753b7d8 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 12 Jan 2015 10:59:33 +0900 Subject: [PATCH 29/73] updated for 2.5.3 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f64d6895..804b1804 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.5.2 +* FFmpeg 2.5.3 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.5.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.5.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 259a354e..edd62405 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.5.2" +SOURCE="ffmpeg-2.5.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From f09296ca0b27505409a86a80434c60883037681a Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 16 Feb 2015 17:42:02 +0900 Subject: [PATCH 30/73] updated for 2.5.4 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 804b1804..1fdcac8f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.5.3 +* FFmpeg 2.5.4 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.5.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.5.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index edd62405..50533c34 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.5.3" +SOURCE="ffmpeg-2.5.4" FAT="FFmpeg-iOS" SCRATCH="scratch" From 1e7f396fbc81ce57edf081c5093a6b6a172e07c4 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 9 Mar 2015 11:52:33 +0900 Subject: [PATCH 31/73] updated for 2.6 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1fdcac8f..03ba1566 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.5.4 +* FFmpeg 2.6 * Xcode 6 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.5.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.6 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 50533c34..b0e7c94b 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.5.4" +SOURCE="ffmpeg-2.6" FAT="FFmpeg-iOS" SCRATCH="scratch" From f34d615d79223e67efdf36910032208d32dcce9e Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 18 Mar 2015 10:54:46 +0900 Subject: [PATCH 32/73] updated for 2.6.1 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 03ba1566..cb20b0a2 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.6 -* Xcode 6 +* FFmpeg 2.6.1 +* Xcode 6.2 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.6 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.6.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index b0e7c94b..3e6f27c4 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.6" +SOURCE="ffmpeg-2.6.1" FAT="FFmpeg-iOS" SCRATCH="scratch" From a90036345b68d583bbf51c504f5251adfdf5c5c3 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 13 Apr 2015 13:35:54 +0900 Subject: [PATCH 33/73] updated for 2.6.2 --- README.md | 6 +++--- build-ffmpeg.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cb20b0a2..bf504b27 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.6.1 -* Xcode 6.2 +* FFmpeg 2.6.2 +* Xcode 6.3 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.6.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.6.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 3e6f27c4..1dedbec9 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.6.1" +SOURCE="ffmpeg-2.6.2" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -29,7 +29,7 @@ fi # avresample #CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample" -ARCHS="arm64 armv7s armv7 x86_64 i386" +ARCHS="arm64 armv7 x86_64 i386" COMPILE="y" LIPO="y" From b51d2c6361a0ef9d61f1c99da39d8c0ba30be458 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 18 May 2015 09:59:38 +0900 Subject: [PATCH 34/73] updated for 2.6.3 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bf504b27..64c418b1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.6.2 +* FFmpeg 2.6.3 * Xcode 6.3 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.6.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.6.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 1dedbec9..340bcac5 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.6.2" +SOURCE="ffmpeg-2.6.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From bd7b55a7eaa65eb13d294e342a9f5a0ba387148c Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 11 Jun 2015 10:43:26 +0900 Subject: [PATCH 35/73] Update for 2.7 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 64c418b1..0a4f3899 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.6.3 +* FFmpeg 2.7 * Xcode 6.3 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.6.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.7 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 340bcac5..148c9ecf 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.6.3" +SOURCE="ffmpeg-2.7" FAT="FFmpeg-iOS" SCRATCH="scratch" From 1ae9bdeff35ec4842dfd247efc11fe56155f0cc3 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 1 Jul 2015 14:04:15 +0900 Subject: [PATCH 36/73] updated for 2.7.1 --- README.md | 4 ++-- build-ffmpeg.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0a4f3899..dd2facdd 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.7 +* FFmpeg 2.7.1 * Xcode 6.3 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.7 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.7.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 148c9ecf..d5d20719 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.7" +SOURCE="ffmpeg-2.7.1" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -60,7 +60,7 @@ then if [ ! `which brew` ] then echo 'Homebrew not found. Trying to install...' - ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" \ + ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" \ || exit 1 fi echo 'Trying to install Yasm...' From af987c897492f0a0698380c0d1fb8548f0d023ac Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 15 Jul 2015 09:44:50 +0900 Subject: [PATCH 37/73] updated README --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index dd2facdd..f763ca61 100644 --- a/README.md +++ b/README.md @@ -47,5 +47,3 @@ You should link your app with ## Influences * https://github.com/bbcallen/ijkplayer/blob/fc70895c64cbbd20f32f1d81d2d48609ed13f597/ios/tools/do-compile-ffmpeg.sh#L7 - -Stack Exchange Q&A site proposal: Stack Overflow (in Korean) From 713c4f5204bee63eae586c85db47d65fc7ca28fd Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 23 Jul 2015 14:09:33 +0900 Subject: [PATCH 38/73] updated for 2.7.2 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f763ca61..8ecb6261 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.7.1 -* Xcode 6.3 +* FFmpeg 2.7.2 +* Xcode 6.4 ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.7.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.7.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index d5d20719..7337f8b0 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.7.1" +SOURCE="ffmpeg-2.7.2" FAT="FFmpeg-iOS" SCRATCH="scratch" From ed578c9ff56c82504bc049ac203f98dbe9cc7d46 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 1 Sep 2015 13:42:56 +0900 Subject: [PATCH 39/73] embed bitcode (#40) --- README.md | 2 +- build-ffmpeg.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8ecb6261..8b6ad327 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: * FFmpeg 2.7.2 -* Xcode 6.4 +* Xcode 7 beta ## Requirements diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 7337f8b0..1fb33a5d 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -96,7 +96,7 @@ then CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" else PLATFORM="iPhoneOS" - CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" + CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode" if [ "$ARCH" = "arm64" ] then EXPORT="GASPP_FIX_XCODE5=1" @@ -124,7 +124,6 @@ then --cc="$CC" \ $CONFIGURE_FLAGS \ --extra-cflags="$CFLAGS" \ - --extra-cxxflags="$CXXFLAGS" \ --extra-ldflags="$LDFLAGS" \ --prefix="$THIN/$ARCH" \ || exit 1 From f0bd9743ce7284dd4490c83bff26b2a15cdb7dcf Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 1 Sep 2015 14:42:25 +0900 Subject: [PATCH 40/73] make travis happy --- build-ffmpeg.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 1fb33a5d..da1a6105 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -96,7 +96,12 @@ then CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" else PLATFORM="iPhoneOS" - CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode" + CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" + xcodebuild -version | set - + if [ "$2" = "7.0" -o "$2" \> "7.0" ] + then + CFLAGS="$CFLAGS -fembed-bitcode" + fi if [ "$ARCH" = "arm64" ] then EXPORT="GASPP_FIX_XCODE5=1" From 775677969502ed4aace6f27c43e38cf2744fa08f Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 2 Sep 2015 09:46:18 +0900 Subject: [PATCH 41/73] tell Travis to use Xcode7 (#40) --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 27a884c2..a35555bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,3 +14,5 @@ after_success: - scp -i id_sf -o 'StrictHostKeyChecking no' $TARBALL koolbear@frs.sourceforge.net:/home/frs/project/ffmpeg-ios after_failure: cat .stderr + +osx_image: xcode7 From 01fcc63c63481a2a0339bbae70f15fac6473fa02 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 2 Sep 2015 11:37:44 +0900 Subject: [PATCH 42/73] try bitcode again (#40) --- build-ffmpeg.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index da1a6105..1fb33a5d 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -96,12 +96,7 @@ then CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" else PLATFORM="iPhoneOS" - CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" - xcodebuild -version | set - - if [ "$2" = "7.0" -o "$2" \> "7.0" ] - then - CFLAGS="$CFLAGS -fembed-bitcode" - fi + CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode" if [ "$ARCH" = "arm64" ] then EXPORT="GASPP_FIX_XCODE5=1" From bbeeb88ed861bb1fabbf7afc23fe31f4eedba70b Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 9 Sep 2015 14:25:37 +0900 Subject: [PATCH 43/73] update for 2.8 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8b6ad327..29b972dd 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.7.2 +* FFmpeg 2.8 * Xcode 7 beta ## Requirements @@ -34,7 +34,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.7.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 1fb33a5d..d47831c1 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.7.2" +SOURCE="ffmpeg-2.8" FAT="FFmpeg-iOS" SCRATCH="scratch" From 0542cf117517468a9f810dc6a27cbc8c1a78db99 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 14 Oct 2015 11:47:43 +0900 Subject: [PATCH 44/73] Added flattr button --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29b972dd..4212bee3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # FFmpeg iOS build script [![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) +[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=kewlbear&url=https://flattr.com/submit/auto?user_id=kewlbear&url=https%3A%2F%2Fgithub.com%2Fkewlbear%2FFFmpeg-iOS-build-script) This is a shell script to build FFmpeg libraries for iOS apps. From 38baf41f55f0c899197ab17ae012cf9601599732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=B0=BD=EB=B2=94?= Date: Wed, 14 Oct 2015 18:23:08 +0900 Subject: [PATCH 45/73] added experimental script for tvOS --- build-ffmpeg-tvos.sh | 156 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 build-ffmpeg-tvos.sh diff --git a/build-ffmpeg-tvos.sh b/build-ffmpeg-tvos.sh new file mode 100755 index 00000000..1331fdaa --- /dev/null +++ b/build-ffmpeg-tvos.sh @@ -0,0 +1,156 @@ +#!/bin/sh + +# directories +SOURCE="ffmpeg-2.8" +FAT="FFmpeg-tvOS" + +SCRATCH="scratch-tvos" +# must be an absolute path +THIN=`pwd`/"thin-tvos" + +# absolute path to x264 library +#X264=`pwd`/../x264-ios/x264-iOS + +#FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios + +CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs \ + --disable-doc --enable-pic --disable-indev=avfoundation" + +if [ "$X264" ] +then + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-gpl --enable-libx264" +fi + +if [ "$FDK_AAC" ] +then + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac" +fi + +# avresample +#CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample" + +ARCHS="arm64 x86_64" + +COMPILE="y" +LIPO="y" + +DEPLOYMENT_TARGET="9.0" + +if [ "$*" ] +then + if [ "$*" = "lipo" ] + then + # skip compile + COMPILE= + else + ARCHS="$*" + if [ $# -eq 1 ] + then + # skip lipo + LIPO= + fi + fi +fi + +if [ "$COMPILE" ] +then + if [ ! `which yasm` ] + then + echo 'Yasm not found' + if [ ! `which brew` ] + then + echo 'Homebrew not found. Trying to install...' + ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" \ + || exit 1 + fi + echo 'Trying to install Yasm...' + brew install yasm || exit 1 + fi + if [ ! `which gas-preprocessor.pl` ] + then + echo 'gas-preprocessor.pl not found. Trying to install...' + (curl -L https://github.com/libav/gas-preprocessor/raw/master/gas-preprocessor.pl \ + -o /usr/local/bin/gas-preprocessor.pl \ + && chmod +x /usr/local/bin/gas-preprocessor.pl) \ + || exit 1 + fi + + if [ ! -r $SOURCE ] + then + echo 'FFmpeg source not found. Trying to download...' + curl http://www.ffmpeg.org/releases/$SOURCE.tar.bz2 | tar xj \ + || exit 1 + fi + + CWD=`pwd` + for ARCH in $ARCHS + do + echo "building $ARCH..." + mkdir -p "$SCRATCH/$ARCH" + cd "$SCRATCH/$ARCH" + + CFLAGS="-arch $ARCH" + if [ "$ARCH" = "x86_64" ] + then + PLATFORM="AppleTVSimulator" + CFLAGS="$CFLAGS -mtvos-simulator-version-min=$DEPLOYMENT_TARGET" + else + PLATFORM="AppleTVOS" + CFLAGS="$CFLAGS -mtvos-version-min=$DEPLOYMENT_TARGET -fembed-bitcode" + if [ "$ARCH" = "arm64" ] + then + EXPORT="GASPP_FIX_XCODE5=1" + fi + fi + + XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` + CC="xcrun -sdk $XCRUN_SDK clang" + AR="xcrun -sdk $XCRUN_SDK ar" + CXXFLAGS="$CFLAGS" + LDFLAGS="$CFLAGS" + if [ "$X264" ] + then + CFLAGS="$CFLAGS -I$X264/include" + LDFLAGS="$LDFLAGS -L$X264/lib" + fi + if [ "$FDK_AAC" ] + then + CFLAGS="$CFLAGS -I$FDK_AAC/include" + LDFLAGS="$LDFLAGS -L$FDK_AAC/lib" + fi + + TMPDIR=${TMPDIR/%\/} $CWD/$SOURCE/configure \ + --target-os=darwin \ + --arch=$ARCH \ + --cc="$CC" \ + --ar="$AR" \ + $CONFIGURE_FLAGS \ + --extra-cflags="$CFLAGS" \ + --extra-ldflags="$LDFLAGS" \ + --prefix="$THIN/`basename $PWD`" \ + || exit 1 + + xcrun -sdk $XCRUN_SDK make -j3 install $EXPORT || exit 1 + cd $CWD + done +fi + +if [ "$LIPO" ] +then + echo "building fat binaries..." + mkdir -p $FAT/lib + set - $ARCHS + CWD=`pwd` + cd $THIN/$1/lib + for LIB in *.a + do + cd $CWD + echo lipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIB 1>&2 + lipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIB || exit 1 + done + + cd $CWD + cp -rf $THIN/$1/include $FAT +fi + +echo Done From d8ffb00d83c8a76752691dd3f95010211643c8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=B0=BD=EB=B2=94?= Date: Wed, 14 Oct 2015 19:17:08 +0900 Subject: [PATCH 46/73] update for 2.8.1 --- .gitignore | 2 ++ README.md | 6 +++--- build-ffmpeg.sh | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 05533205..a1cd8411 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ scratch* thin* fat* +FFmpeg-* +.DS_Store diff --git a/README.md b/README.md index 4212bee3..bb0fade6 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS apps. Tested with: -* FFmpeg 2.8 -* Xcode 7 beta +* FFmpeg 2.8.1 +* Xcode 7.1 beta 3 ## Requirements @@ -35,7 +35,7 @@ Tested with: ## Download -You can download a binary for FFmpeg 2.8 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index d47831c1..4ab79253 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8" +SOURCE="ffmpeg-2.8.1" FAT="FFmpeg-iOS" SCRATCH="scratch" From 4ad73a68dee8211a99cbb537634dc52829d74f04 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Fri, 6 Nov 2015 09:41:38 +0900 Subject: [PATCH 47/73] Added tvOS info --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bb0fade6..ebf0cafd 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ [![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) [![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=kewlbear&url=https://flattr.com/submit/auto?user_id=kewlbear&url=https%3A%2F%2Fgithub.com%2Fkewlbear%2FFFmpeg-iOS-build-script) -This is a shell script to build FFmpeg libraries for iOS apps. +This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: * FFmpeg 2.8.1 -* Xcode 7.1 beta 3 +* Xcode 7.1 ## Requirements @@ -17,6 +17,8 @@ Tested with: ## Usage +Use build-ffmpeg-tvos.sh for tvOS. + * To build everything: ./build-ffmpeg.sh From 4b61d73b1349c92fe51c32a81f1acf3a103e25b7 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 12 Nov 2015 15:54:27 +0900 Subject: [PATCH 48/73] trying docker with travis --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a35555bb..67025b69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,3 +16,5 @@ after_success: after_failure: cat .stderr osx_image: xcode7 + +sudo: false From f4c52ca91c1fc2977a67f18512d2da977684b5b5 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 12 Nov 2015 16:38:55 +0900 Subject: [PATCH 49/73] update for 2.8.2 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ebf0cafd..1ddf757a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.1 -* Xcode 7.1 +* FFmpeg 2.8.2 +* Xcode 7.1.1 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 4ab79253..fff12254 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.1" +SOURCE="ffmpeg-2.8.2" FAT="FFmpeg-iOS" SCRATCH="scratch" From 46635cfd74dffacdd31af67ffdc909c1d2929082 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 30 Nov 2015 08:58:29 +0900 Subject: [PATCH 50/73] updated for 2.8.3 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1ddf757a..9e091c9e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.2 +* FFmpeg 2.8.3 * Xcode 7.1.1 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index fff12254..66374284 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.2" +SOURCE="ffmpeg-2.8.3" FAT="FFmpeg-iOS" SCRATCH="scratch" From bd9fb69ee4085c8596679c6f0976391e950eb14a Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 21 Dec 2015 09:16:45 +0900 Subject: [PATCH 51/73] update for 2.8.4 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9e091c9e..d4af2b7d 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.3 -* Xcode 7.1.1 +* FFmpeg 2.8.4 +* Xcode 7.2 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 66374284..f6d67afe 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.3" +SOURCE="ffmpeg-2.8.4" FAT="FFmpeg-iOS" SCRATCH="scratch" From 13550d7a10796b9d2db453df2e55fd2185c3d7ed Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 18 Jan 2016 09:22:50 +0900 Subject: [PATCH 52/73] update for 2.8.5 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d4af2b7d..51b395d0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.4 +* FFmpeg 2.8.5 * Xcode 7.2 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.5 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index f6d67afe..c646b52d 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.4" +SOURCE="ffmpeg-2.8.5" FAT="FFmpeg-iOS" SCRATCH="scratch" From 5a5d982d9254d61bcced727b55870bc27d34239e Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 2 Feb 2016 08:49:45 +0900 Subject: [PATCH 53/73] update for 2.8.6 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 51b395d0..2c10537b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.5 +* FFmpeg 2.8.6 * Xcode 7.2 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.5 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 2.8.6 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index c646b52d..0ee5892c 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.5" +SOURCE="ffmpeg-2.8.6" FAT="FFmpeg-iOS" SCRATCH="scratch" From 85ff9b48cb1a32a42cbdcaf353dcd9a3bb6264d0 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 15 Feb 2016 14:46:45 +0900 Subject: [PATCH 54/73] update for 3.0 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2c10537b..ff89553e 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 2.8.6 -* Xcode 7.2 +* FFmpeg 3.0 +* Xcode 7.2.1 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 2.8.6 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.0 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 0ee5892c..b6d5e8ec 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8.6" +SOURCE="ffmpeg-3.0" FAT="FFmpeg-iOS" SCRATCH="scratch" From 5d7b49e60fa716ae780622f402267579dfcd6698 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 28 Jun 2016 09:48:09 +0900 Subject: [PATCH 55/73] update for 3.1 --- README.md | 6 +++--- build-ffmpeg-tvos.sh | 2 +- build-ffmpeg.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ff89553e..ce4be422 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.0 -* Xcode 7.2.1 +* FFmpeg 3.1 +* Xcode 7.3 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.0 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg-tvos.sh b/build-ffmpeg-tvos.sh index 1331fdaa..8a987b9e 100755 --- a/build-ffmpeg-tvos.sh +++ b/build-ffmpeg-tvos.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-2.8" +SOURCE="ffmpeg-3.1" FAT="FFmpeg-tvOS" SCRATCH="scratch-tvos" diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index b6d5e8ec..bdd0e315 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.0" +SOURCE="ffmpeg-3.1" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -11,7 +11,7 @@ THIN=`pwd`/"thin" # absolute path to x264 library #X264=`pwd`/fat-x264 -#FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios +#FDK_AAC=`pwd`/../fdk-aac-build-script-for-iOS/fdk-aac-ios CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs \ --disable-doc --enable-pic" From 5fb48b40f42745cb490c579f9b0c01ca3b92e436 Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Thu, 7 Jul 2016 15:22:26 +0800 Subject: [PATCH 56/73] Upgrade to ffmpeg-3.1.1 --- README.md | 4 ++-- build-ffmpeg-tvos.sh | 2 +- build-ffmpeg.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ce4be422..18af80e4 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.1 +* FFmpeg 3.1.1 * Xcode 7.3 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.1.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg-tvos.sh b/build-ffmpeg-tvos.sh index 8a987b9e..7717bfda 100755 --- a/build-ffmpeg-tvos.sh +++ b/build-ffmpeg-tvos.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.1" +SOURCE="ffmpeg-3.1.1" FAT="FFmpeg-tvOS" SCRATCH="scratch-tvos" diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index bdd0e315..5c6cc620 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.1" +SOURCE="ffmpeg-3.1.1" FAT="FFmpeg-iOS" SCRATCH="scratch" From 8311767efb70e228292dc70ed183e7f22011f41e Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Fri, 28 Oct 2016 08:54:00 +0900 Subject: [PATCH 57/73] update for 3.2 --- README.md | 6 +++--- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ce4be422..e53cc614 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.1 -* Xcode 7.3 +* FFmpeg 3.2 +* Xcode 8 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index bdd0e315..14b59cdb 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.1" +SOURCE="ffmpeg-3.2" FAT="FFmpeg-iOS" SCRATCH="scratch" From e5a880c5ff109fe7a2f83ab1f0fcc7e33fc76710 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 27 Apr 2017 12:43:36 +0900 Subject: [PATCH 58/73] update for 3.3 --- README.md | 6 +++--- build-ffmpeg.sh | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e53cc614..104b79e4 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.2 -* Xcode 8 +* FFmpeg 3.3 +* Xcode 8.3.2 ## Requirements @@ -37,7 +37,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 14b59cdb..414db6d7 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.2" +SOURCE="ffmpeg-3.3" FAT="FFmpeg-iOS" SCRATCH="scratch" @@ -105,6 +105,15 @@ then XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` CC="xcrun -sdk $XCRUN_SDK clang" + + # force "configure" to use "gas-preprocessor.pl" (FFmpeg 3.3) + if [ "$ARCH" = "arm64" ] + then + AS="gas-preprocessor.pl -arch aarch64 -- $CC" + else + AS="$CC" + fi + CXXFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" if [ "$X264" ] @@ -122,6 +131,7 @@ then --target-os=darwin \ --arch=$ARCH \ --cc="$CC" \ + --as="$AS" \ $CONFIGURE_FLAGS \ --extra-cflags="$CFLAGS" \ --extra-ldflags="$LDFLAGS" \ From 89b2b17015bab3a73805022fa34d08d3a4ee2dce Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 27 Apr 2017 12:52:19 +0900 Subject: [PATCH 59/73] update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 67025b69..c0e3d1d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,6 @@ after_success: after_failure: cat .stderr -osx_image: xcode7 +osx_image: xcode8.3 sudo: false From 92e0663e230ea0c21c3948aaededadd833ac1c3e Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 16 Oct 2017 08:31:48 +0900 Subject: [PATCH 60/73] update for 3.4 --- README.md | 7 +++---- build-ffmpeg.sh | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 104b79e4..34533a89 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@ # FFmpeg iOS build script [![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) -[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=kewlbear&url=https://flattr.com/submit/auto?user_id=kewlbear&url=https%3A%2F%2Fgithub.com%2Fkewlbear%2FFFmpeg-iOS-build-script) This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.3 -* Xcode 8.3.2 +* FFmpeg 3.4 +* Xcode 9 ## Requirements @@ -37,7 +36,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 3.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 414db6d7..244259d3 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.3" +SOURCE="ffmpeg-3.4" FAT="FFmpeg-iOS" SCRATCH="scratch" From c464b6660c1ab70d53fcc2bb30788349d0ce2e36 Mon Sep 17 00:00:00 2001 From: Lincoln Date: Tue, 24 Oct 2017 17:44:46 +0800 Subject: [PATCH 61/73] add build ios framework script rename bundle --- .gitignore | 1 + build-ffmpeg-iOS-framework.sh | 191 ++++++++++++++++++++++++++++++++++ build-ffmpeg.sh | 6 +- 3 files changed, 197 insertions(+), 1 deletion(-) create mode 100755 build-ffmpeg-iOS-framework.sh diff --git a/.gitignore b/.gitignore index a1cd8411..e05f2795 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ scratch* thin* fat* +FFmpeg.framework FFmpeg-* .DS_Store diff --git a/build-ffmpeg-iOS-framework.sh b/build-ffmpeg-iOS-framework.sh new file mode 100755 index 00000000..56e2be6b --- /dev/null +++ b/build-ffmpeg-iOS-framework.sh @@ -0,0 +1,191 @@ +#!/bin/sh + +# directories +SCRATCH=`pwd`/"scratch" +ARCHS="arm64 armv7 i386 x86_64" + +FFMPEG_VERSION="3.4" +export FFMPEG_VERSION +HEADER_SUFFIX=".h" +CURRENT_FOLDER=`pwd` +FRAMEWORK_NAME="FFmpeg" +FRAMEWORK_EXT=".framework" +FRAMEWORK="$FRAMEWORK_NAME$FRAMEWORK_EXT" +BUILD_FOLDER="$CURRENT_FOLDER/FFmpeg-iOS" +BUILD_THIN_FOLDER="$CURRENT_FOLDER/thin" +BUILD_INCLUDE_FOLDER="$BUILD_FOLDER/include" +BUILD_LIB_FOLDER="$BUILD_FOLDER/lib" +OUTPUT_FOLDER="$CURRENT_FOLDER/$FRAMEWORK" +OUTPUT_INFO_PLIST_FILE="$OUTPUT_FOLDER/Info.plist" +OUTPUT_HEADER_FOLDER="$OUTPUT_FOLDER/Headers" +OUTPUT_UMBRELLA_HEADER="$OUTPUT_HEADER_FOLDER/ffmpeg.h" +OUTPUT_MODULES_FOLDER="$OUTPUT_FOLDER/Modules" +OUTPUT_MODULES_FILE="$OUTPUT_MODULES_FOLDER/module.modulemap" +VERSION_NEW_NAME="Version.h" +BUNDLE_ID="org.ffmpeg.FFmpeg" + +function CreateFramework() { + rm -rf $OUTPUT_FOLDER + mkdir -p $OUTPUT_HEADER_FOLDER $OUTPUT_MODULES_FOLDER +} + +function CompileSource() { + ./build-ffmpeg.sh $ARCHS + ./build-ffmpeg.sh lipo +} + +function MergeStaticLibrary() { + local files="" + + for ARCH in $ARCHS; do + folder="$SCRATCH/$ARCH" + name="$FRAMEWORK_NAME$ARCH.a" + ar cru $name $(find $folder -name "*.o") + files="$files $name" + done + + lipo -create $files -output FFmpeg + + for file in $files; do + rm -rf $file + done + mv $FRAMEWORK_NAME $OUTPUT_FOLDER +} + +function RenameHeader() { + local include_folder="$(pwd)/FFmpeg-iOS/include" + local need_replace_version_folder="" + for folder in "$include_folder"/*; do + local folder_name=`basename $folder` + local verstion_file_name="$folder_name$VERSION_NEW_NAME" + for header in "$folder"/*; do + local header_name=`basename $header` + + local dst_name=$header_name + if [ $header_name == "version.h" ]; then + dst_name=$verstion_file_name + fi + + local dst_folder=$OUTPUT_HEADER_FOLDER + local file_name="$folder/$header_name" + local dst_file_name="$dst_folder/$dst_name" + cp $file_name $dst_file_name + find "$dst_folder" -name "$dst_name" -type f -exec sed -i '' "s/\"version.h\"/\"$verstion_file_name\"/g" {} \; + done + need_replace_version_folder="$need_replace_version_folder $folder_name" + done + + for folder_name in $need_replace_version_folder; do + local verstion_file_name="$folder_name$VERSION_NEW_NAME" + find $OUTPUT_HEADER_FOLDER -type f -exec sed -i '' "s/\"$folder_name\/version.h\"/\"$verstion_file_name\"/g" {} \; + done + find $OUTPUT_HEADER_FOLDER -type f -exec sed -i '' "s/libavformat\///g" {} \; + find $OUTPUT_HEADER_FOLDER -type f -exec sed -i '' "s/libavutil\///g" {} \; + find $OUTPUT_HEADER_FOLDER -type f -exec sed -i '' "s/libavcodec\///g" {} \; +} + +# COPY MISSING inttypes.h +function CopyInttype() { + local file="$(xcode-select -p)/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/clang/include/inttypes.h" + cp $file $OUTPUT_HEADER_FOLDER + find $OUTPUT_HEADER_FOLDER -type f -exec sed -i '' "s//\"inttypes.h\"/g" {} \; +} + +function CreateModulemapAndUmbrellaHeader() { + #create ffmpeg.h + cat > $OUTPUT_UMBRELLA_HEADER < +#import +#import +#include "avcodec.h" +#include "avdevice.h" +#include "avfilter.h" +#include "avformat.h" +#include "avutil.h" +#include "swscale.h" +#include "swresample.h" +double FFmpegVersionNumber = $FFMPEG_VERSION; +EOF + + cat > $OUTPUT_MODULES_FILE < $OUTPUT_INFO_PLIST_FILE < + + + + BuildMachineOSBuild + $OS_BUILD_VERSION + CFBundleDevelopmentRegion + en + CFBundleExecutable + $FRAMEWORK_NAME + CFBundleIdentifier + $BUNDLE_ID + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $FRAMEWORK_NAME + CFBundlePackageType + FMWK + CFBundleShortVersionString + $FFMPEG_VERSION + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + iPhoneOS + + CFBundleVersion + 1 + DTCompiler + $DTCompiler + DTPlatformBuild + $DTPlatformBuild + DTPlatformName + iphoneos + DTPlatformVersion + $DEFAULT_iOS_SDK_VERSION + DTSDKBuild + $DTSDKBuild + DTSDKName + iphoneos$DEFAULT_iOS_SDK_VERSION + DTXcode + $DTXcode + DTXcodeBuild + $DTXcodeBuild + MinimumOSVersion + 8.0 + UIDeviceFamily + + 1 + 2 + + + +EOF +} + +CompileSource +CreateFramework +MergeStaticLibrary +RenameHeader +CreateModulemapAndUmbrellaHeader +CopyInttype +CreateInfoPlist diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 244259d3..51cd284f 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,11 @@ #!/bin/sh # directories -SOURCE="ffmpeg-3.4" +FF_VERSION="3.4" +if [[ $FFMPEG_VERSION != "" ]]; then + FF_VERSION=$FFMPEG_VERSION +fi +SOURCE="ffmpeg-$FF_VERSION" FAT="FFmpeg-iOS" SCRATCH="scratch" From 4427144e53d3509d716b6196f424f4acbb9e6f6a Mon Sep 17 00:00:00 2001 From: onceyoung Date: Tue, 19 Dec 2017 11:42:38 +0800 Subject: [PATCH 62/73] add --enable-nonfree flag build won't be successful without --enable-nonfree --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 51cd284f..5e353117 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -27,7 +27,7 @@ fi if [ "$FDK_AAC" ] then - CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac" + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac --enable-nonfree" fi # avresample From b98a5a1f77bd45b63e8bb5d790f5e5e1bae4eda6 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Sat, 21 Apr 2018 10:06:15 +0900 Subject: [PATCH 63/73] fix for Xcode 9.3 --- build-ffmpeg.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 5e353117..be1b11dd 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="3.4" +FF_VERSION="3.4.2" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION fi @@ -115,7 +115,7 @@ then then AS="gas-preprocessor.pl -arch aarch64 -- $CC" else - AS="$CC" + AS="gas-preprocessor.pl -- $CC" fi CXXFLAGS="$CFLAGS" From 81dc8ab23658422f832c5ebec925e58ada317ae6 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Sat, 21 Apr 2018 10:11:38 +0900 Subject: [PATCH 64/73] fix for Xcode 9.3 --- build-ffmpeg.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 5e353117..be1b11dd 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="3.4" +FF_VERSION="3.4.2" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION fi @@ -115,7 +115,7 @@ then then AS="gas-preprocessor.pl -arch aarch64 -- $CC" else - AS="$CC" + AS="gas-preprocessor.pl -- $CC" fi CXXFLAGS="$CFLAGS" From ba55d80bbfcc10108eb9bd21b8789e7acb44a4c4 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 5 Nov 2018 09:34:27 +0900 Subject: [PATCH 65/73] updated for FFmpeg 4.0.3 --- README.md | 10 +++------- build-ffmpeg.sh | 8 +++++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 34533a89..fab8a5e5 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 3.4 -* Xcode 9 +* FFmpeg 4.0.3 +* Xcode 10.1 ## Requirements @@ -36,7 +36,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 3.4 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 4.0.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries @@ -45,7 +45,3 @@ You should link your app with * libz.dylib * libbz2.dylib * libiconv.dylib - -## Influences - -* https://github.com/bbcallen/ijkplayer/blob/fc70895c64cbbd20f32f1d81d2d48609ed13f597/ios/tools/do-compile-ffmpeg.sh#L7 diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 5e353117..8d0ef185 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,8 @@ #!/bin/sh # directories -FF_VERSION="3.4" +FF_VERSION="4.0.3" +#FF_VERSION="snapshot-git" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION fi @@ -38,7 +39,7 @@ ARCHS="arm64 armv7 x86_64 i386" COMPILE="y" LIPO="y" -DEPLOYMENT_TARGET="6.0" +DEPLOYMENT_TARGET="8.0" if [ "$*" ] then @@ -115,7 +116,8 @@ then then AS="gas-preprocessor.pl -arch aarch64 -- $CC" else - AS="$CC" + #AS="$CC" + AS="gas-preprocessor.pl $CC" fi CXXFLAGS="$CFLAGS" From bcac2702fcc7f6d0a7e7863ee6cbb01ce9a4a4e8 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Fri, 8 Feb 2019 09:48:53 +0900 Subject: [PATCH 66/73] update for 4.1 --- README.md | 4 ++-- build-ffmpeg.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fab8a5e5..5c8a5478 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 4.0.3 +* FFmpeg 4.1 * Xcode 10.1 ## Requirements @@ -36,7 +36,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 4.0.3 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 4.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 435bc26a..add35c72 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="4.0.3" +FF_VERSION="4.1" #FF_VERSION="snapshot-git" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION From d26b8a469437b3894c9a33bed1d557c3a6f3d30d Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 7 Aug 2019 08:29:38 +0900 Subject: [PATCH 67/73] update for 4.2 --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index add35c72..a67ae908 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="4.1" +FF_VERSION="4.2" #FF_VERSION="snapshot-git" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION From 6fb37b664f8f0b0fc02bebebc94209ce7d290a63 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 7 Aug 2019 08:41:56 +0900 Subject: [PATCH 68/73] update for 4.2 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c8a5478..4193e355 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 4.1 +* FFmpeg 4.2 * Xcode 10.1 ## Requirements @@ -36,7 +36,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 4.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 4.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries From cf3e9851091d071e06cc46029c92dece0fa3cf6f Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 28 Aug 2019 15:59:02 +0900 Subject: [PATCH 69/73] Update and rename blank.yml to build.yml --- .github/workflows/build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..ba521c4a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,13 @@ +name: CI + +on: [push] + +jobs: + build: + + runs-on: macOS-latest + + steps: + - uses: actions/checkout@v1 + - name: build + run: ./build-ffmpeg.sh 2>.stderr From 73280aaaa5211deb10d3469f27764b1bd3313450 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Mon, 7 Sep 2020 16:38:04 +0900 Subject: [PATCH 70/73] add decoder threads --- build-ffmpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index a67ae908..75edfc2e 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="4.2" +FF_VERSION="4.3" #FF_VERSION="snapshot-git" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION From f4e68894e95ef2cdc72f2a800fc0d1b425fd97c0 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Wed, 25 Nov 2020 13:39:00 +0900 Subject: [PATCH 71/73] update 4.3.1 --- README.md | 8 +++++--- build-ffmpeg.sh | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4193e355..54a02a48 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,15 @@ # FFmpeg iOS build script +Swift package: https://github.com/kewlbear/FFmpeg-iOS + [![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) This is a shell script to build FFmpeg libraries for iOS and tvOS apps. Tested with: -* FFmpeg 4.2 -* Xcode 10.1 +* FFmpeg 4.3.1 +* Xcode 12.2 ## Requirements @@ -36,7 +38,7 @@ Use build-ffmpeg-tvos.sh for tvOS. ## Download -You can download a binary for FFmpeg 4.2 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 +You can download a binary for FFmpeg 4.3.1 release at https://downloads.sourceforge.net/project/ffmpeg-ios/ffmpeg-ios-master.tar.bz2 ## External libraries diff --git a/build-ffmpeg.sh b/build-ffmpeg.sh index 75edfc2e..319fadbe 100755 --- a/build-ffmpeg.sh +++ b/build-ffmpeg.sh @@ -1,7 +1,7 @@ #!/bin/sh # directories -FF_VERSION="4.3" +FF_VERSION="4.3.1" #FF_VERSION="snapshot-git" if [[ $FFMPEG_VERSION != "" ]]; then FF_VERSION=$FFMPEG_VERSION From 167e59bdd8d35ed12880a1c7221cf940995cb9d3 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Tue, 8 Dec 2020 12:21:20 +0900 Subject: [PATCH 72/73] update readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 54a02a48..33648895 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # FFmpeg iOS build script -Swift package: https://github.com/kewlbear/FFmpeg-iOS +See the following repository for Swift package, .xcframeworks and more: + +https://github.com/kewlbear/FFmpeg-iOS [![Build Status](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script.svg?branch=master)](https://travis-ci.org/kewlbear/FFmpeg-iOS-build-script) From ff5a45c5e48d5a0cd5a6badfab1c22f62d9ddcb7 Mon Sep 17 00:00:00 2001 From: Changbeom Ahn Date: Thu, 4 Aug 2022 08:55:38 +0900 Subject: [PATCH 73/73] Create FUNDING.yml --- .github/FUNDING.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..b3a42efe --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: [kewlbear] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']