Compare commits

..

106 Commits

Author SHA1 Message Date
Taner Sener 55700fb8bb update the packaging for android arm-v7a and arm-v7a-neon architectures and remove custom abi rules for releases, fixes #511 2020-08-02 21:45:51 +01:00
Taner Sener 4be74be2a2 fix proguard rules, fixes #508 2020-08-01 10:30:24 +01:00
Taner Sener 70b8686eee target android api level 30 2020-07-30 09:40:08 +01:00
Taner Sener 870959fbd3 update android gradle version 2020-07-30 09:30:02 +01:00
Taner Şener 64b92f9d85 Merge pull request #501 from alexcohn/fix/tooltips
move tooltips to resources
2020-07-30 09:11:57 +01:00
Taner Sener 495e0490a9 Update README 2020-07-29 19:00:04 +01:00
alexcohn dbebf28b10 move tooltips to resources
on the way, fix a typo
2020-07-27 14:56:17 +03:00
Taner Sener 5b9637f517 fix android release packaging script 2020-07-25 17:35:17 +01:00
Taner Sener 5c3409484c update ios test-app settings 2020-07-25 13:46:50 +01:00
Taner Sener 8bbbf4b0a7 fix ios/tvos system library indexes in ffmpeg build scripts 2020-07-25 09:39:35 +01:00
Taner Sener 83fca5d126 use v4.4.LTS in test applications 2020-07-25 00:15:55 +01:00
Taner Sener 56a8d28225 release v4.4.LTS 2020-07-24 01:03:26 +01:00
Taner Sener 48836fc94a fix mobile-ffmpeg videotoolbox flags for tvos 2020-07-24 01:03:26 +01:00
Taner Sener db2fe927e6 fix processing of ios/tvos flags 2020-07-24 01:03:26 +01:00
Taner Sener e9a6f5fb21 fix android lts neon packaging 2020-07-23 21:53:01 +01:00
Taner Sener 13a2d0e264 fix x265 compilation errors on ios/tvos 2020-07-22 23:00:32 +01:00
Taner Sener 79cda81490 introduce execution specific log levels, fixes #495 2020-07-22 00:10:01 +01:00
Taner Sener 704ee05c3b synchronize updating lastCommandOutput on ios/tvos, fixes #494 2020-07-21 01:43:01 +01:00
Taner Sener 8dd51a619d do not print parsing exceptions for not found keys on android 2020-07-19 23:01:43 +01:00
Taner Sener 0dbdec7ae5 update libsamplerate build workarounds 2020-07-19 15:55:12 +01:00
Taner Sener 2bae484aff do not process log lines with zero length on ios/tvos 2020-07-19 15:44:21 +01:00
Taner Sener 05880133ec disable building of audiotoolbox output device on ios/tvos 2020-07-19 12:47:06 +01:00
Taner Sener 091b4c62fb freeze v4.4 2020-07-19 03:45:48 +01:00
Taner Sener 1c0dcf92ae enable redownloading of ffmpeg source code 2020-07-19 03:08:40 +01:00
Taner Sener 47a64b3d7f use new freetype version 2.10.2 2020-07-19 02:06:02 +01:00
Taner Sener 7e289a014d remove coreimage references on ios/tvos, fixes #480 2020-07-19 01:22:58 +01:00
Taner Sener 4f6a80a5bb use new ffmpeg version v4.4-dev-416-g1998d1d6af 2020-07-19 01:19:34 +01:00
Taner Sener abddac04ea use new libjpeg-turbo version v2.0.5 2020-07-18 18:02:31 +01:00
Taner Sener effa46c2d1 use new nettle version v3.6 2020-07-18 17:23:53 +01:00
Taner Sener 6f22bd47bd use new libvorbis version v1.3.7 2020-07-18 17:04:06 +01:00
Taner Sener 6f4e7577ba use new kvazaar version v2.0.0 2020-07-18 16:34:59 +01:00
Taner Sener b97fddb0ed use new wavpack version v5.3.0 2020-07-18 16:23:32 +01:00
Taner Sener 258fa6e40a use new chromaprint version v1.5.0 2020-07-18 16:13:03 +01:00
Taner Sener 36be20cdf0 use new x264 version v20200630-stable 2020-07-18 14:45:58 +01:00
Taner Sener 6d3189eee0 use new x265 version v3.4 2020-07-18 14:33:25 +01:00
Taner Sener ed65d00f59 test openh264 in ios/tvos test applications 2020-07-18 13:54:56 +01:00
Taner Sener b4710f7025 add startTime to FFmpegExecution class 2020-07-18 13:51:23 +01:00
Taner Sener c2ffdd7a10 use a thread safe implementation to list ongoing executions 2020-07-18 11:21:13 +01:00
Taner Sener 2e0ac940dc introduce an api method to list ongoing executions 2020-07-18 01:54:12 +01:00
Taner Sener 60892d4a84 switch to personal fork for cpu-features, use in-repo sources for expat and openh264 2020-07-17 22:23:05 +01:00
Taner Sener e3a1fbcc99 fix android env variables in travis 2020-06-27 10:53:23 +01:00
Taner Sener accd5976cd fix test commands in android test app 2020-06-27 00:41:09 +01:00
Taner Sener c888eee1c0 fix ndk version in travis 2020-06-27 00:32:19 +01:00
Taner Sener c075268d0b add executionId to log and statistic callbacks 2020-06-27 00:00:10 +01:00
Taner Sener d46274f5af implement ffmpeg async api 2020-06-26 18:25:52 +01:00
Taner Sener 2ea824c983 update stale.yml 2020-06-21 11:23:59 +01:00
Taner Sener 074bcd553a update release scripts to use the latest ndk version 2020-06-19 22:48:40 +01:00
Taner Sener 13f72226d8 implement an api method to set environment variables, fixes #466 2020-06-19 22:47:49 +01:00
Taner Sener 2469b8e85b update ios test-app versions 2020-06-18 01:03:24 +01:00
Taner Sener 1bb6cd532a disable avfoundation device for ios lts releases, fixes #462 2020-06-18 00:45:09 +01:00
Taner Sener e52bad8a35 use the latest android ndk 2020-06-17 23:28:50 +01:00
Taner Sener 3efd2ecee5 implement ignoreSignal api method, fixes #258, #214 2020-06-17 23:28:40 +01:00
Taner Sener f6189815f0 implement bash functions to download external libraries 2020-06-14 22:57:35 +01:00
Taner Sener f382a0c3a0 switch openh264 source code with openh264 submodule 2020-06-14 01:51:27 +01:00
Taner Sener 1706d2aead update submodules in top level build scripts 2020-06-14 01:32:02 +01:00
Taner Sener c43aa5bcdf switch expat source code with expat submodule 2020-06-14 01:13:01 +01:00
Taner Sener ca2e6f0ae0 switch src/cpu-features remote to google/cpu_features 2020-06-13 23:54:16 +01:00
Taner Sener 8307c30491 remove unused test resources 2020-06-13 23:19:06 +01:00
Taner Sener 986ad8c094 fix travis builds 2020-06-13 22:49:04 +01:00
Taner Sener 66539ab037 do not install lldb for android in travis builds 2020-06-13 13:11:00 +01:00
Taner Sener 70ae95f5fa implement toString() method for Statistics and LogMessage classes, fixes #438 2020-06-13 13:05:22 +01:00
Taner Sener 9095e3262e release unreleased utf strings in setNativeEnvironmentVariable(), fixes #443 2020-06-12 23:15:46 +01:00
Taner Sener 9a2e0a75f2 do not detach main thread on error cases, fixes #446 2020-06-12 22:57:17 +01:00
Taner Sener ce10a88194 disable stripping of debug symbols for ffmpeg, fixes #447 2020-06-12 00:17:40 +01:00
Taner Sener f041df28a9 fix javadoc warnings 2020-06-09 00:57:42 +01:00
Taner Sener d216310c9c list cpu-features after builtin libraries 2020-06-09 00:51:37 +01:00
Taner Sener 8a1653fc7b bump version 2020-06-09 00:42:50 +01:00
Taner Sener 687863efc8 disable publishing to bintray 2020-06-09 00:42:50 +01:00
Taner Sener 7a3a94ee9b automatically update submodules from android.sh 2020-06-09 00:42:49 +01:00
Taner Sener 4a343d8b87 make android-cpu-features.sh executable 2020-06-07 20:42:55 +01:00
Taner Sener b9c2b573df Merge pull request #375 from alexcohn/development
use google/cpu_features
2020-05-26 23:09:53 +01:00
alexcohn 79d313e201 set packages path 2020-05-26 13:24:08 +03:00
alexcohn 888d622662 let openh264 work with external cpu-features
compatible with NDK deperecated implementation and with ndk_compat from https://github.com/google/cpu_features
2020-05-26 11:47:02 +03:00
alexcohn 6aeb10570d Using static lib for Google cpu-features 2020-05-26 09:11:19 +03:00
alexcohn 90ebed56f6 revert the commit 740fd2e9
load of c++_shared determined by the list of enabled external libraries
2020-05-25 19:01:25 +03:00
alexcohn ffccbc889d not needed anymore 2020-05-25 18:52:22 +03:00
alexcohn 68bba7b7f2 fix for LTS 2020-05-25 18:51:29 +03:00
alexcohn de7f3fcef7 update the Android.mk files to reflect cpu-features rename
also, remove unnecessary dependencies
2020-05-25 18:50:23 +03:00
alexcohn 555bee6f36 scripts changed for renamed libary and move cpu-features to slot 47
create_cpufeatures_package_config moved back to android-common.sh
android_ndk_cmake to handle generic Android-NDK toolchain invocation of cmake
2020-05-25 18:39:30 +03:00
alexcohn df02234ece rename the submodule library 2020-05-25 18:13:17 +03:00
alexcohn 2fb22fd3d4 switch the submodule to fork 2020-05-19 22:42:10 +03:00
alexcohn 740fd2e92a LTS: fix the static constructor blocks to handle the changed name of the cpu features library
Also, add ffmpeg dependencies for lower APIs (how did it work before?)
Also, just try to load c++_shared if it is present, not trying to guess whether the external libraries require it (android.sh will still make the decision to add c++_shared to dependencies list based on the list of external libraries).
2020-05-17 22:31:58 +03:00
alexcohn 8047e66a52 Revert a (small) portion of commit e77f8971
On lower API, openh264 depends on libc++_shared. Here, for simplicity, we force this dependency for all API levels.
2020-05-17 22:22:14 +03:00
alexcohn 58336842e4 Revert "with NDK r20 and higher, openh264.a does not depend on libc++"
This reverts commit dc751016
2020-05-17 14:10:23 +03:00
alexcohn dc75101660 with NDK r20 and higher, openh264.a does not depend on libc++ 2020-05-16 01:37:37 +03:00
alexcohn b20a66521f fix Android.lts.mk 2020-05-12 19:15:51 +03:00
alexcohn e59955e164 Merge remote-tracking branch 'upstream/development' into development
One more library added in upstream
2020-05-12 19:14:47 +03:00
alexcohn e6a694ad6d Merge branch 'feature/cpu-features' into development 2020-05-12 14:39:07 +03:00
alexcohn e77f897159 import cpu_features into Android.mk
also clean up the Android.mk files a bit
also, import libc++_shared correctly, so that it is packed in AAR
2020-05-12 14:07:01 +03:00
alexcohn 5139538028 use cpu_features script
it's a regular library, only it's enabled by default
2020-05-12 13:59:42 +03:00
alexcohn 42d2f302d4 fix lint errors 2020-05-12 13:57:03 +03:00
alexcohn c4a5c88f55 add cpu_features script
and some helper fuctions to android-common
2020-05-12 08:54:10 +03:00
alexcohn 95ff39f588 bring in cpu_features as a submodule 2020-05-11 23:26:55 +03:00
alexcohn 0808b30494 let the project be opened and managed in Android Studio 2020-05-11 11:30:40 +03:00
Taner Sener 9df1b5263a Enable all gpl libraries when both --full and --enable-gpl flags are present, fixes #394 2020-05-11 00:25:35 +01:00
Taner Sener bf1f4744ce add support for vo-amrwbenc, fixes #381 2020-05-11 00:25:34 +01:00
Taner Sener f279c540c5 Remove internal log line limit on Android, fixes #418 2020-05-10 15:55:08 +01:00
Taner Sener 7b80cd367a Use JSON parsing in getMediaInformation, fixes #417 2020-05-09 23:34:00 +01:00
Taner Sener 87a7373383 Enable stale action 2020-05-08 14:29:34 +01:00
alexcohn 6e094b71e4 import cpufeatures from NDK 2020-04-06 19:39:04 +03:00
alexcohn 51c1534de3 Merge remote-tracking branch 'upstream/development' into development-prefab 2020-04-06 15:50:50 +03:00
alexcohn 116d8c662d let AndroidStudio manage project root 2020-04-06 15:49:48 +03:00
Alex Cohn f4148f716e remove unnecessary parameters for make command
using the names of compiler tools same way as they are used (without full path) for ffmpeg build
2020-04-01 18:42:49 +03:00
Alex Cohn e888ce39d7 remove custom common_includes
The includes are handled by llvm via --sysroot parameter.
2020-04-01 16:52:21 +03:00
alexcohn 5efd74e033 apply 'use build host and target host in build scripts' efe1c59a 2020-03-31 16:13:44 +03:00
alexcohn 5e7c741ed3 cleanup openh264 build 2020-03-31 14:40:27 +03:00
25 changed files with 62 additions and 124 deletions
+2 -2
View File
@@ -1,3 +1,3 @@
patreon: tanersener
open_collective: mobile-ffmpeg
custom: ['https://buymeacoff.ee/tanersener']
patreon: tanersener
custom: ['https://buymeacoff.ee/tanersener','https://paypal.me/teodosiyminchev']
+7 -18
View File
@@ -1,14 +1,12 @@
# MobileFFmpeg [![Financial Contributors on Open Collective](https://opencollective.com/mobile-ffmpeg/all/badge.svg?label=financial+contributors)](https://opencollective.com/mobile-ffmpeg) ![GitHub release](https://img.shields.io/badge/release-v4.4-blue.svg) ![Maven Central](https://img.shields.io/maven-central/v/com.arthenica/mobile-ffmpeg-min) ![CocoaPods](https://img.shields.io/badge/pod-v4.4-blue.svg) [![Build Status](https://travis-ci.org/tanersener/mobile-ffmpeg.svg?branch=master)](https://travis-ci.org/tanersener/mobile-ffmpeg)
# MobileFFmpeg [![Financial Contributors on Open Collective](https://opencollective.com/mobile-ffmpeg/all/badge.svg?label=financial+contributors)](https://opencollective.com/mobile-ffmpeg) ![GitHub release](https://img.shields.io/badge/release-v4.4-blue.svg) ![Bintray](https://img.shields.io/badge/bintray-v4.4-blue.svg) ![CocoaPods](https://img.shields.io/badge/pod-v4.4-blue.svg) [![Build Status](https://travis-ci.org/tanersener/mobile-ffmpeg.svg?branch=master)](https://travis-ci.org/tanersener/mobile-ffmpeg)
FFmpeg for Android, iOS and tvOS.
Not maintained anymore as explained in [Whats next for MobileFFmpeg?](https://tanersener.medium.com/whats-next-for-mobileffmpeg-44d2fac6f09b). Superseded by [FFmpegKit](https://github.com/tanersener/ffmpeg-kit).
FFmpeg for Android, iOS and tvOS
<img src="https://github.com/tanersener/mobile-ffmpeg/blob/master/docs/assets/mobile-ffmpeg-logo-v7.png" width="320">
### 1. Features
- Includes both `FFmpeg` and `FFprobe`
- Use binaries available at `Github`/`Maven Central`/`CocoaPods` or build your own version with external libraries you need
- Use binaries available at `Github`/`JCenter`/`CocoaPods` or build your own version with external libraries you need
- Supports
- Android, iOS and tvOS
- FFmpeg `v3.4.x`, `v4.0.x`, `v4.1`, `v4.2` , `v4.3` and `v4.4-dev` releases
@@ -58,7 +56,7 @@ Not maintained anymore as explained in [Whats next for MobileFFmpeg?](https:/
### 2. Using
Prebuilt binaries are available at [Github](https://github.com/tanersener/mobile-ffmpeg/releases), [Maven Central](https://repo1.maven.org/maven2) and [CocoaPods](https://cocoapods.org).
Prebuilt binaries are available at [Github](https://github.com/tanersener/mobile-ffmpeg/releases), [JCenter](https://bintray.com/bintray/jcenter) and [CocoaPods](https://cocoapods.org).
#### 2.1 Packages
@@ -124,15 +122,6 @@ Please remember that some parts of `FFmpeg` are licensed under the `GPL` and onl
- `vo-amrwbenc` is supported since `v4.4`
#### 2.2 Android
- For versions `4.4` and `4.4.LTS`, add `mavenCentral()` to your `build.gradle` and make sure that it is listed
before `jcenter()`
- For `4.3.2` and older releases, add `jcenter()`
```
repositories {
mavenCentral()
}
```
1. Add MobileFFmpeg dependency to your `build.gradle` in `mobile-ffmpeg-<package name>` pattern.
```
dependencies {
@@ -166,12 +155,12 @@ Please remember that some parts of `FFmpeg` are licensed under the `GPL` and onl
@Override
public void apply(final long executionId, final int returnCode) {
if (returnCode == RETURN_CODE_SUCCESS) {
if (rc == RETURN_CODE_SUCCESS) {
Log.i(Config.TAG, "Async command execution completed successfully.");
} else if (returnCode == RETURN_CODE_CANCEL) {
} else if (rc == RETURN_CODE_CANCEL) {
Log.i(Config.TAG, "Async command execution cancelled by user.");
} else {
Log.i(Config.TAG, String.format("Async command execution failed with returnCode=%d.", returnCode));
Log.i(Config.TAG, String.format("Async command execution failed with rc=%d.", rc));
}
}
});
+2 -2
View File
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
compileSdkVersion 30
ndkVersion "21.3.6528147"
defaultConfig {
minSdkVersion 24
targetSdkVersion 29
targetSdkVersion 30
versionCode 240440
versionName "4.4"
project.archivesBaseName = "mobile-ffmpeg"
+1 -2
View File
@@ -6,7 +6,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.4'
classpath 'com.android.tools.build:gradle:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -16,7 +16,6 @@ buildscript {
allprojects {
repositories {
google()
mavenCentral()
jcenter()
}
}
+2 -2
View File
@@ -1,6 +1,6 @@
#Sat May 09 20:36:16 IDT 2020
#Thu Jul 30 09:25:25 BST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
+2 -2
View File
@@ -9,11 +9,11 @@ android {
keyPassword 'android'
}
}
compileSdkVersion 29
compileSdkVersion 30
defaultConfig {
applicationId "com.arthenica.mobileffmpeg.test"
minSdkVersion 16
targetSdkVersion 29
targetSdkVersion 30
versionCode 160440
versionName "4.4.LTS"
}
@@ -263,7 +263,7 @@ public class AudioTabFragment extends Fragment implements AdapterView.OnItemSele
disableLogCallback();
createAudioSample();
enableLogCallback();
Popup.show(requireContext(), Tooltip.AUDIO_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.audio_test_tooltip_text));
}
public void appendLog(final String logMessage) {
@@ -148,7 +148,7 @@ public class CommandTabFragment extends Fragment {
private void setActive() {
Log.i(MainActivity.TAG, "Command Tab Activated");
enableLogCallback();
Popup.show(requireContext(), Tooltip.COMMAND_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.command_test_tooltip_text));
}
public void appendLog(final String logMessage) {
@@ -263,7 +263,7 @@ public class ConcurrentExecutionTabFragment extends Fragment {
public void setActive() {
Log.i(MainActivity.TAG, "Concurrent Execution Tab Activated");
enableLogCallback();
Popup.show(requireContext(), Tooltip.CONCURRENT_EXECUTION_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.concurrent_execution_test_tooltip_text));
}
public void appendLog(final String logMessage) {
@@ -216,7 +216,7 @@ public class HttpsTabFragment extends Fragment {
public void setActive() {
Log.i(MainActivity.TAG, "Https Tab Activated");
enableLogCallback();
Popup.show(requireContext(), Tooltip.HTTPS_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.https_test_tooltip_text));
}
public void appendLog(final String logMessage) {
@@ -226,7 +226,7 @@ public class PipeTabFragment extends Fragment {
Log.i(MainActivity.TAG, "Pipe Tab Activated");
enableLogCallback();
enableStatisticsCallback();
Popup.show(requireContext(), Tooltip.PIPE_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.pipe_test_tooltip_text));
}
protected void showProgressDialog() {
@@ -272,7 +272,7 @@ public class SubtitleTabFragment extends Fragment {
Log.i(MainActivity.TAG, "Subtitle Tab Activated");
enableLogCallback();
enableStatisticsCallback();
Popup.show(requireContext(), Tooltip.SUBTITLE_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.subtitle_test_tooltip_text));
}
protected void showCreateProgressDialog() {
@@ -1,48 +0,0 @@
/*
* Copyright (c) 2018 Taner Sener
*
* This file is part of MobileFFmpeg.
*
* MobileFFmpeg is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* MobileFFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with MobileFFmpeg. If not, see <http://www.gnu.org/licenses/>.
*/
package com.arthenica.mobileffmpeg.test;
public interface Tooltip {
// COMMAND TEST
String COMMAND_TEST_TOOLTIP_TEXT = "Enter an FFmpeg command without 'ffmpeg' at the beginning and click one of the RUN buttons";
// VIDEO TEST
String VIDEO_TEST_TOOLTIP_TEXT = "Select a video codec and press ENCODE button";
// HTTPS TEST
String HTTPS_TEST_TOOLTIP_TEXT = "Enter the https url of a media file and click the button";
// AUDIO TEST
String AUDIO_TEST_TOOLTIP_TEXT = "Select an audio codec and press ENCODE button";
// SUBTITLE TEST
String SUBTITLE_TEST_TOOLTIP_TEXT = "Click the button to burn subtitles. Created video will play inside the frame below";
// VID.STAB TEST
String VIDSTAB_TEST_TOOLTIP_TEXT = "Click the button to stabilize video. Original video will play above and stabilized video will play below";
// PIPE TEST
String PIPE_TEST_TOOLTIP_TEXT = "Click the button to create a video using pipe redirection. Created video will play inside the frame below";
// CONCURRENT EXECUTION TEST
String CONCURRENT_EXECUTION_TEST_TOOLTIP_TEXT = " Use ENCODE nad CANCEL buttons to start/stop multiple execution";
}
@@ -282,7 +282,7 @@ public class VidStabTabFragment extends Fragment {
public void setActive() {
Log.i(MainActivity.TAG, "VidStab Tab Activated");
enableLogCallback();
Popup.show(requireContext(), Tooltip.VIDSTAB_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.vidstab_test_tooltip_text));
}
protected void showCreateProgressDialog() {
@@ -356,7 +356,7 @@ public class VideoTabFragment extends Fragment implements AdapterView.OnItemSele
Log.i(MainActivity.TAG, "Video Tab Activated");
enableLogCallback();
enableStatisticsCallback();
Popup.show(requireContext(), Tooltip.VIDEO_TEST_TOOLTIP_TEXT);
Popup.show(requireContext(), getString(R.string.video_test_tooltip_text));
}
protected void showProgressDialog() {
@@ -0,0 +1,10 @@
<resources>
<string name="command_test_tooltip_text">Enter an FFmpeg command without \'ffmpeg\' at the beginning and click one of the RUN buttons</string>
<string name="video_test_tooltip_text">Select a video codec and press ENCODE button</string>
<string name="https_test_tooltip_text">Enter the https url of a media file and click the button</string>
<string name="audio_test_tooltip_text">Select an audio codec and press ENCODE button</string>
<string name="subtitle_test_tooltip_text">Click the button to burn subtitles. Created video will play inside the frame below</string>
<string name="vidstab_test_tooltip_text">Click the button to stabilize video. Original video will play above and stabilized video will play below</string>
<string name="pipe_test_tooltip_text">Click the button to create a video using pipe redirection. Created video will play inside the frame below</string>
<string name="concurrent_execution_test_tooltip_text">Use ENCODE and CANCEL buttons to start/stop multiple execution</string>
</resources>
+2 -2
View File
@@ -263,9 +263,9 @@ download_gpl_library_source() {
GPL_LIB_ORIG_DIR="x264-cde9a93319bea766a92e306d69059c76de970190"
;;
x265)
GPL_LIB_URL="https://github.com/videolan/x265/archive/3.4.tar.gz"
GPL_LIB_URL="https://bitbucket.org/multicoreware/x265/downloads/x265_3.4.tar.gz"
GPL_LIB_FILE="x265_3.4.tar.gz"
GPL_LIB_ORIG_DIR="x265-3.4"
GPL_LIB_ORIG_DIR="x265_3.4"
;;
xvidcore)
GPL_LIB_URL="https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.gz"
-3
View File
@@ -56,9 +56,6 @@ if [[ ${RECONF_nettle} -eq 1 ]]; then
autoreconf_library ${LIB_NAME}
fi
${SED_INLINE} 's/exit(0)/return 0/g' ${BASEDIR}/src/${LIB_NAME}/configure
${SED_INLINE} 's/exit (0)/return 0/g' ${BASEDIR}/src/${LIB_NAME}/configure
./configure \
--prefix=${BASEDIR}/prebuilt/$(get_target_build_directory)/${LIB_NAME} \
--enable-pic \
+3 -12
View File
@@ -1,14 +1,14 @@
---
layout: default
---
FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by [FFmpegKit](https://github.com/tanersener/ffmpeg-kit).
FFmpeg for Android, iOS and tvOS
<img src="https://github.com/tanersener/mobile-ffmpeg/raw/dev-v3.x/docs/assets/mobile-ffmpeg-logo-v7.png" width="240">
### 1. Features
- Includes both `FFmpeg` and `FFprobe`
- Supports FFmpeg `v3.4.x`, `v4.0.x`, `v4.1`, `v4.2` , `v4.3` and `v4.4-dev` releases
- Use prebuilt binaries available under `Github`/`Maven Central`/`CocoaPods` or build your own version with external libraries you need
- Use prebuilt binaries available under `Github`/`JCenter`/`CocoaPods` or build your own version with external libraries you need
- Includes 29 external libraries, 5 GPL libraries and 14 architectures in total
- Exposes both FFmpeg library and MobileFFmpeg wrapper library capabilities
- Supports concurrent execution
@@ -35,7 +35,7 @@ FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by [FFmpegK
### 2. Using
Binaries are available at [Github](https://github.com/tanersener/mobile-ffmpeg/releases), [Maven Central](https://repo1.maven.org/maven2) and [CocoaPods](https://cocoapods.org).
Binaries are available at [Github](https://github.com/tanersener/mobile-ffmpeg/releases), [JCenter](https://bintray.com/bintray/jcenter) and [CocoaPods](https://cocoapods.org).
#### 2.1 Packages
@@ -87,15 +87,6 @@ Please remember that some parts of `FFmpeg` are licensed under the `GPL` and onl
- `vo-amrwbenc` is supported since `v4.4`
#### 2.2 Android
- For versions `4.4` and `4.4.LTS`, add `mavenCentral()` to your `build.gradle` and make sure that it is listed
before `jcenter()`
- For `4.3.2` and older releases, add `jcenter()`
```
repositories {
mavenCentral()
}
```
1. Add MobileFFmpeg dependency to your `build.gradle` in `mobile-ffmpeg-<package name>` pattern.
```
dependencies {
+2 -2
View File
@@ -986,7 +986,7 @@ if [[ -n ${MOBILE_FFMPEG_LTS_BUILD} ]] && [[ "${DETECTED_IOS_SDK_VERSION}" != "$
fi
# DISABLE 32-bit architectures on newer IOS versions
if [[ ${DETECTED_IOS_SDK_VERSION} == 11* ]] || [[ ${DETECTED_IOS_SDK_VERSION} == 12* ]] || [[ ${DETECTED_IOS_SDK_VERSION} == 13* ]] || [[ ${DETECTED_IOS_SDK_VERSION} == 14* ]]; then
if [[ ${DETECTED_IOS_SDK_VERSION} == 11* ]] || [[ ${DETECTED_IOS_SDK_VERSION} == 12* ]] || [[ ${DETECTED_IOS_SDK_VERSION} == 13* ]]; then
if [[ -z ${BUILD_FORCE} ]] && [[ ${ENABLED_ARCHITECTURES[${ARCH_ARMV7}]} -eq 1 ]]; then
echo -e "INFO: Disabled armv7 architecture which is not supported on SDK ${DETECTED_IOS_SDK_VERSION}\n" 1>>"${BASEDIR}/build.log" 2>&1
disable_arch "armv7"
@@ -1009,7 +1009,7 @@ elif [[ ${DETECTED_IOS_SDK_VERSION} != 10* ]]; then
fi
# DISABLE x86-64-mac-catalyst architecture on IOS versions lower than 13
if [[ ${DETECTED_IOS_SDK_VERSION} != 13* || ${DETECTED_IOS_SDK_VERSION} != 14* ]] && [[ -z ${BUILD_FORCE} ]] && [[ ${ENABLED_ARCHITECTURES[${ARCH_X86_64_MAC_CATALYST}]} -eq 1 ]]; then
if [[ ${DETECTED_IOS_SDK_VERSION} != 13* ]] && [[ -z ${BUILD_FORCE} ]] && [[ ${ENABLED_ARCHITECTURES[${ARCH_X86_64_MAC_CATALYST}]} -eq 1 ]]; then
echo -e "INFO: Disabled x86-64-mac-catalyst architecture which is not supported on SDK ${DETECTED_IOS_SDK_VERSION}\n" 1>>"${BASEDIR}/build.log" 2>&1
disable_arch "x86-64-mac-catalyst"
fi
+8 -8
View File
@@ -51,7 +51,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-min -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 without any external libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-min -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 without any external libraries enabled.' clean install bintrayUpload || exit 1
create_package "min" "$2" || exit 1
# MIN-GPL RELEASE
@@ -60,7 +60,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-min-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-min-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "min-gpl" "$2" || exit 1
# HTTPS RELEASE
@@ -69,7 +69,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-gnutls --enable-gmp || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-https -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0 and gnutls v3.6.13 library enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-https -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0 and gnutls v3.6.13 library enabled.' clean install bintrayUpload || exit 1
create_package "https" "$2" || exit 1
# HTTPS-GPL RELEASE
@@ -78,7 +78,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-gnutls --enable-gmp ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-https-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0, gnutls v3.6.13, libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-https-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0, gnutls v3.6.13, libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "https-gpl" "$2" || exit 1
# AUDIO RELEASE
@@ -87,7 +87,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-lame --enable-libilbc --enable-libvorbis --enable-opencore-amr --enable-opus --enable-shine --enable-soxr --enable-speex --enable-twolame --enable-vo-amrwbenc --enable-wavpack || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-audio -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with lame v3.100, libilbc v2.0.2, libvorbis v1.3.7, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-audio -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with lame v3.100, libilbc v2.0.2, libvorbis v1.3.7, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "audio" "$2" || exit 1
# VIDEO RELEASE
@@ -96,7 +96,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-fontconfig --enable-freetype --enable-fribidi --enable-kvazaar --enable-libaom --enable-libass --enable-libiconv --enable-libtheora --enable-libvpx --enable-snappy --enable-libwebp || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-video -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, kvazaar v2.0.0, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libtheora v1.1.1, libvpx v1.8.2, snappy v1.1.8 and libwebp v1.1.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-video -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, kvazaar v2.0.0, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libtheora v1.1.1, libvpx v1.8.2, snappy v1.1.8 and libwebp v1.1.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "video" "$2" || exit 1
# FULL RELEASE
@@ -105,7 +105,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${FULL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-full -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-full -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "full" "$2" || exit 1
# FULL-GPL RELEASE
@@ -114,6 +114,6 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${FULL_PACKAGES} ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-full-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvid.stab v1.1.0, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3, wavpack v5.3.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2.LTS -PreleaseMinSdk=16 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-full-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvid.stab v1.1.0, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3, wavpack v5.3.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "full-gpl" "$2" || exit 1
enable_gradle_build
+8 -8
View File
@@ -51,7 +51,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-min -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 without any external libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-min -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 without any external libraries enabled.' clean install bintrayUpload || exit 1
create_package "min" "$2" || exit 1
# MIN-GPL RELEASE
@@ -60,7 +60,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-min-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-min-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "min-gpl" "$2" || exit 1
# HTTPS RELEASE
@@ -69,7 +69,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-gnutls --enable-gmp || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-https -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0 and gnutls v3.6.13 library enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-https -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0 and gnutls v3.6.13 library enabled.' clean install bintrayUpload || exit 1
create_package "https" "$2" || exit 1
# HTTPS-GPL RELEASE
@@ -78,7 +78,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-gnutls --enable-gmp ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-https-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0, gnutls v3.6.13, libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-https-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with gmp v6.2.0, gnutls v3.6.13, libvid.stab v1.1.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "https-gpl" "$2" || exit 1
# AUDIO RELEASE
@@ -87,7 +87,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-lame --enable-libilbc --enable-libvorbis --enable-opencore-amr --enable-opus --enable-shine --enable-soxr --enable-speex --enable-twolame --enable-vo-amrwbenc --enable-wavpack || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-audio -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with lame v3.100, libilbc v2.0.2, libvorbis v1.3.7, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-audio -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with lame v3.100, libilbc v2.0.2, libvorbis v1.3.7, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "audio" "$2" || exit 1
# VIDEO RELEASE
@@ -96,7 +96,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} --enable-fontconfig --enable-freetype --enable-fribidi --enable-kvazaar --enable-libaom --enable-libass --enable-libiconv --enable-libtheora --enable-libvpx --enable-snappy --enable-libwebp || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-video -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, kvazaar v2.0.0, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libtheora v1.1.1, libvpx v1.8.2, snappy v1.1.8 and libwebp v1.1.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-video -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, kvazaar v2.0.0, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libtheora v1.1.1, libvpx v1.8.2, snappy v1.1.8 and libwebp v1.1.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "video" "$2" || exit 1
# FULL RELEASE
@@ -105,7 +105,7 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${FULL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-full -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-full -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3 and wavpack v5.3.0 libraries enabled.' clean install bintrayUpload || exit 1
create_package "full" "$2" || exit 1
# FULL-GPL RELEASE
@@ -114,6 +114,6 @@ cd ${BASEDIR}/../.. || exit 1
./android.sh ${CUSTOM_OPTIONS} ${FULL_PACKAGES} ${GPL_PACKAGES} || exit 1
cd ${BASEDIR}/../../android/app || exit 1
enable_gradle_release
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=29 -PreleaseProject=mobile-ffmpeg-full-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvid.stab v1.1.0, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3, wavpack v5.3.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
gradle -p ${BASEDIR}/../../android/app -PreleaseVersionCode=$1 -PreleaseVersionName=$2 -PreleaseMinSdk=24 -PreleaseTargetSdk=30 -PreleaseProject=mobile-ffmpeg-full-gpl -PreleaseProjectDescription='Includes FFmpeg v4.4-dev-416 with fontconfig v2.13.92, freetype v2.10.2, fribidi v1.0.9, gmp v6.2.0, gnutls v3.6.13, kvazaar v2.0.0, lame v3.100, libaom v1.0.0-errata1-avif-110, libass v0.14.0, libiconv v1.16, libilbc v2.0.2, libtheora v1.1.1, libvid.stab v1.1.0, libvorbis v1.3.7, libvpx v1.8.2, libwebp v1.1.0, libxml2 v2.9.10, opencore-amr v0.1.5, opus v1.3.1, shine v3.1.1, snappy v1.1.8, soxr v0.1.3, speex v1.2.0, twolame v0.4, vo-amrwbenc v0.1.3, wavpack v5.3.0, x264 v20200630-stable, x265 v3.4 and xvidcore v1.3.7 libraries enabled.' -PreleaseGPL=1 clean install bintrayUpload || exit 1
create_package "full-gpl" "$2" || exit 1
enable_gradle_build
+2 -2
View File
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
compileSdkVersion 30
ndkVersion "21.3.6528147"
defaultConfig {
minSdkVersion 24
targetSdkVersion 29
targetSdkVersion 30
versionCode 240440
versionName "4.4"
project.archivesBaseName = "mobile-ffmpeg"
+2 -2
View File
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
compileSdkVersion 30
ndkVersion "21.3.6528147"
defaultConfig {
minSdkVersion 16
targetSdkVersion 29
targetSdkVersion 30
versionCode 160440
versionName "4.4.LTS"
project.archivesBaseName = "mobile-ffmpeg"
@@ -8,7 +8,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.4'
classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}