diff --git a/app/build.gradle b/app/build.gradle index 7128790..fb78768 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,29 +1,29 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 26 - - defaultConfig { - applicationId "net.ossrs.yasea.demo" - minSdkVersion 21 - targetSdkVersion 22 - versionCode 1 - versionName "2.6" - ndk { - abiFilters "armeabi-v7a", "arm64-v8a", "x86" - } - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - implementation fileTree(dir: 'libx264.libs', include: ['*.jar']) - testImplementation 'junit:junit:4.12' - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation project(path: ':library') -} +apply plugin: 'com.android.application' + +android { + compileSdkVersion 26 + + defaultConfig { + applicationId "net.ossrs.yasea.demo" + minSdkVersion 18 + targetSdkVersion 22 + versionCode 1 + versionName "2.6" + ndk { + abiFilters "armeabi-v7a", "arm64-v8a", "x86", "mips" + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libx264.libs', include: ['*.jar']) + testImplementation 'junit:junit:4.12' + implementation 'com.android.support:appcompat-v7:26.1.0' + implementation project(path: ':library') +} diff --git a/app/src/main/java/net/ossrs/yasea/demo/MainActivity.java b/app/src/main/java/net/ossrs/yasea/demo/MainActivity.java index 857dcf2..82b7227 100644 --- a/app/src/main/java/net/ossrs/yasea/demo/MainActivity.java +++ b/app/src/main/java/net/ossrs/yasea/demo/MainActivity.java @@ -46,6 +46,9 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL private SrsPublisher mPublisher; private SrsCameraView mCameraView; + private int mWidth = 640; + private int mHeight = 480; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -76,8 +79,8 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL mPublisher.setEncodeHandler(new SrsEncodeHandler(this)); mPublisher.setRtmpHandler(new RtmpHandler(this)); mPublisher.setRecordHandler(new SrsRecordHandler(this)); - mPublisher.setPreviewResolution(640, 360); - mPublisher.setOutputResolution(360, 640); + mPublisher.setPreviewResolution(mWidth, mHeight); + mPublisher.setOutputResolution(mHeight, mWidth); // 这里要和preview反过来 mPublisher.setVideoHDMode(); mPublisher.startCamera(); diff --git a/library/build.gradle b/library/build.gradle index 26535be..401e6f5 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,37 +1,37 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 26 - - defaultConfig { - minSdkVersion 21 - targetSdkVersion 22 - versionCode 1 - versionName "2.6" - - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - ndk { - abiFilters "armeabi-v7a", "arm64-v8a", "x86" - } - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - externalNativeBuild { - ndkBuild { - path 'src/main/cpp/Android.mk' - } - } -} - -dependencies { - implementation fileTree(dir: 'libx264.libs', include: ['*.jar']) - androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { - exclude group: 'com.android.support', module: 'support-annotations' - }) - implementation 'com.android.support:appcompat-v7:26.1.0' - testImplementation 'junit:junit:4.12' -} +apply plugin: 'com.android.library' + +android { + compileSdkVersion 26 + + defaultConfig { + minSdkVersion 18 + targetSdkVersion 22 + versionCode 1 + versionName "2.6" + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + ndk { + abiFilters "armeabi-v7a", "arm64-v8a", "x86", "mips" + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + externalNativeBuild { + ndkBuild { + path 'src/main/cpp/Android.mk' + } + } +} + +dependencies { + implementation fileTree(dir: 'libx264.libs', include: ['*.jar']) + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + implementation 'com.android.support:appcompat-v7:26.1.0' + testImplementation 'junit:junit:4.12' +} diff --git a/library/src/main/cpp/Application.mk b/library/src/main/cpp/Application.mk index 0bbada0..72f8bff 100644 --- a/library/src/main/cpp/Application.mk +++ b/library/src/main/cpp/Application.mk @@ -1,2 +1,2 @@ -APP_ABI := armeabi-v7a arm64-v8a x86 +APP_ABI := armeabi-v7a arm64-v8a x86 mips APP_PLATFORM := android-21 diff --git a/library/src/main/cpp/libx264/.gitignore b/library/src/main/cpp/libx264/.gitignore index 174458b..b2bb6af 100644 --- a/library/src/main/cpp/libx264/.gitignore +++ b/library/src/main/cpp/libx264/.gitignore @@ -1,5 +1,6 @@ +/libx264.a *~ -*.a +#*.a *.diff *.orig *.rej diff --git a/library/src/main/cpp/libx264/android_build_all.sh b/library/src/main/cpp/libx264/android_build_all.sh new file mode 100755 index 0000000..1aa9fab --- /dev/null +++ b/library/src/main/cpp/libx264/android_build_all.sh @@ -0,0 +1,24 @@ +# Created by jianxi on 2017/6/4 +# https://github.com/mabeijianxi +# mabeijianxi@gmail.com +# Edit by obarong on 2020/4/15 + +chmod a+x android_*.sh + +# Build armeabi +#./android_build_armeabi.sh + +# Build arm v6 v7a +./android_build_armeabi_v7a.sh + +# Build arm64 v8a +./android_build_arm64_v8a.sh + +# Build mips +./android_build_mips.sh + +# Build x86 +./android_build_x86.sh + +# Build x86_64 +#./android_x86_64_build.sh diff --git a/library/src/main/cpp/libx264/android_build_arm64_v8a.sh b/library/src/main/cpp/libx264/android_build_arm64_v8a.sh index c076e39..d82f463 100755 --- a/library/src/main/cpp/libx264/android_build_arm64_v8a.sh +++ b/library/src/main/cpp/libx264/android_build_arm64_v8a.sh @@ -1,8 +1,8 @@ #!/bin/sh -ANDROID_NDK=$HOME/Android/Sdk/ndk-bundle +ANDROID_NDK=$HOME/Android/android-ndk-r14b SYSROOT=$ANDROID_NDK/platforms/android-21/arch-arm64 -CROSS_PREFIX=$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android- +CROSS_PREFIX=$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android- EXTRA_CFLAGS="-march=armv8-a -D__ANDROID__" EXTRA_LDFLAGS="-nostdlib" PREFIX=`pwd`/libs/arm64-v8a diff --git a/library/src/main/cpp/libx264/android_build_armeabi_v7a.sh b/library/src/main/cpp/libx264/android_build_armeabi_v7a.sh index 037c195..a5837fc 100755 --- a/library/src/main/cpp/libx264/android_build_armeabi_v7a.sh +++ b/library/src/main/cpp/libx264/android_build_armeabi_v7a.sh @@ -1,8 +1,8 @@ #!/bin/sh -ANDROID_NDK=$HOME/Android/Sdk/ndk-bundle -SYSROOT=$ANDROID_NDK/platforms/android-21/arch-arm -CROSS_PREFIX=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- +ANDROID_NDK=$HOME/Android/android-ndk-r14b +SYSROOT=$ANDROID_NDK/platforms/android-19/arch-arm +CROSS_PREFIX=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi- EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -D__ANDROID__ -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__" EXTRA_LDFLAGS="-nostdlib" PREFIX=`pwd`/libs/armeabi-v7a diff --git a/library/src/main/cpp/libx264/android_build_x86.sh b/library/src/main/cpp/libx264/android_build_x86.sh index c6bf1b0..9daf50c 100755 --- a/library/src/main/cpp/libx264/android_build_x86.sh +++ b/library/src/main/cpp/libx264/android_build_x86.sh @@ -1,8 +1,8 @@ #!/bin/sh -ANDROID_NDK=$HOME/Android/Sdk/ndk-bundle -SYSROOT=$ANDROID_NDK/platforms/android-21/arch-x86 -CROSS_PREFIX=$ANDROID_NDK/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android- +ANDROID_NDK=$HOME/Android/android-ndk-r14b +SYSROOT=$ANDROID_NDK/platforms/android-19/arch-x86 +CROSS_PREFIX=$ANDROID_NDK/toolchains/x86-4.9/prebuilt/darwin-x86_64/bin/i686-linux-android- EXTRA_CFLAGS="-D__ANDROID__ -D__i686__" EXTRA_LDFLAGS="-nostdlib" PREFIX=`pwd`/libs/x86 diff --git a/library/src/main/cpp/libx264/libs/arm64-v8a/libx264.a b/library/src/main/cpp/libx264/libs/arm64-v8a/libx264.a index 3b8acab..88cb2c9 100644 Binary files a/library/src/main/cpp/libx264/libs/arm64-v8a/libx264.a and b/library/src/main/cpp/libx264/libs/arm64-v8a/libx264.a differ diff --git a/library/src/main/cpp/libx264/libs/armeabi-v7a/libx264.a b/library/src/main/cpp/libx264/libs/armeabi-v7a/libx264.a index c430a65..05934a3 100644 Binary files a/library/src/main/cpp/libx264/libs/armeabi-v7a/libx264.a and b/library/src/main/cpp/libx264/libs/armeabi-v7a/libx264.a differ diff --git a/library/src/main/cpp/libx264/libs/mips/libx264.a b/library/src/main/cpp/libx264/libs/mips/libx264.a new file mode 100644 index 0000000..b4a88c0 Binary files /dev/null and b/library/src/main/cpp/libx264/libs/mips/libx264.a differ diff --git a/library/src/main/cpp/libx264/libs/x86/libx264.a b/library/src/main/cpp/libx264/libs/x86/libx264.a index c973ac0..97ef4d1 100644 Binary files a/library/src/main/cpp/libx264/libs/x86/libx264.a and b/library/src/main/cpp/libx264/libs/x86/libx264.a differ