tanersener / mobile-ffmpeg

FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit.
https://tanersener.github.io/mobile-ffmpeg
GNU General Public License v3.0
3.85k stars 787 forks source link

android.sh binary never build, stuck at fatal: not a git repository (or any of the parent directories): .git #566

Closed BilalAsif25 closed 3 years ago

BilalAsif25 commented 3 years ago

Description Just trying to run andorid.sh using git bash, but its never succeed, after giving android home sdk path and running shell again it says:

**KNIGHTS@DESKTOP-SAPNDRN MINGW64 /d/ffmpeg/mobile-ffmpeg $ /d/ffmpeg/mobile-ffmpeg/android.sh grep: D:\Bilal's\PcBackupData\Sdk\ndk\21.3.6528147/source.properties: No such file or directory

error: Can not run git commands in this folder. See build.log.**

and then in log it says

**INFO: Using Android NDK v provided at D:\Bilal's\PcBackupData\Sdk dk\21.3.6528147

INFO: Build options:

fatal: not a git repository (or any of the parent directories): .git**

and then doing some research i tried this command to create empty git repo

KNIGHTS@DESKTOP-SAPNDRN MINGW64 /d/ffmpeg/mobile-ffmpeg $ git init Initialized empty Git repository in D:/ffmpeg/mobile-ffmpeg/.git/

adn then log says

**INFO: Using Android NDK v provided at D:\Bilal's\PcBackupData\Sdk dk\21.3.6528147

INFO: Build options:

fatal: No names found, cannot describe anything.**

Expected behavior I just want to run android.sh so i can manage disabling some libs i dont want, i am really stuck for days, not very familiar with shell scripts so please help me out. thanks

Environment

Screenshots Capture Capture2

tanersener commented 3 years ago

You need to clone mobile-ffmpeg repository if you want to build it. Those git errors tell that you have mobile-ffmpeg source code but .git folder is not there. Manually creating .git folder won't solve your issues.

BilalAsif25 commented 3 years ago

Dear @tanersener I have tried cloning too but its giving me following error

Store.imagestack/Middle.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long Updating files: 100% (30796/30796)

Updating files: 100% (30796/30796), done.

unable to checkout working tree warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry with 'git restore --source=HEAD :/'

Screenshot Capture3

BilalAsif25 commented 3 years ago

here's the complete clone failed log:

Updating files: 87% (26793/30796) Updating files: 88% (27101/30796) Updating files: 88% (27104/30796) Updating files: 89% (27409/30796) Updating files: 90% (27717/30796) Updating files: 91% (28025/30796) Updating files: 92% (28333/30796) Updating files: 93% (28641/30796) Updating files: 93% (28888/30796) Updating files: 94% (28949/30796) Updating files: 95% (29257/30796) Updating files: 96% (29565/30796) Updating files: 97% (29873/30796) Updating files: 98% (30181/30796) Updating files: 99% (30489/30796) unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long Updating files: 100% (30796/30796) Updating files: 100% (30796/30796), done. unable to checkout working tree warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry with 'git restore --source=HEAD :/'

tanersener commented 3 years ago

These are the limitations of Windows and has nothing to do with this project. You shouldn't be asking them to me.

An alternative to git clone is to download the following two packages and extract them into the same folder. I don't know whether you'll have the same issue but it's worth a try.

https://github.com/tanersener/mobile-ffmpeg/archive/v4.4.tar.gz https://github.com/tanersener/mobile-ffmpeg/releases/download/v4.4/master.git.tar.gz

BilalAsif25 commented 3 years ago

Thanks @tanersener ! i was able to run shell doing some RND but now stuck here

INFO: System information

INFO: MINGW64_NT-10.0-17758 DESKTOP-SAPNDRN 3.1.6-340.x86_64 2020-07-09 14:33 UTC x86_64 Msys

----------------------------------------------------------------

DEBUG: Downloading library source: cpu-features

DEBUG: Checking if cpu-features is already downloaded at /d/Bilal's/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

INFO: cpu-features library already downloaded

INFO: cpu-features already downloaded. Source folder found at /d/Bilal's/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

find: ‘D:Bilals\\PcBackupData\\Sdk’: No such file or directory
find: ‘export’: No such file or directory
find: ‘ANDROID_HOME=D:\\BilalsPcBackupDataSdk/cmake’: No such file or directory
CMake Error at D:/Bilal's/PcBackupData/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake:100 (message):
  Could not find toolchain file: D:Bilals\PcBackupData\ndk
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)

CMake Error: CMake was unable to find a build program corresponding to "NMake Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
tanersener commented 3 years ago

Another Windows issue. Your parent directory is /d/Bilal's/Projects/GithubProjects. Try to use simpler universal paths, without spaces or quotes; e.g. /d/bilal/.

BilalAsif25 commented 3 years ago

yes i have changed paths and stuff, also downloaded latest CMake 3.18, re-downloaded ndk-bundle, and set environmental variables too

DEBUG: Downloading library source: cpu-features

DEBUG: Checking if cpu-features is already downloaded at /d/Bilals/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

INFO: cpu-features library already downloaded

INFO: cpu-features already downloaded. Source folder found at /d/Bilals/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

-- Detecting C compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: nmake /nologo cmTC_90e27\fast && 
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
CMake Error: Generator: execution of make failed. Make command was: nmake /nologo cmTC_b8ddc\fast && 
-- Check for working C compiler: D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - broken
CMake Error at D:/Bilals/PcBackupData/Sdk/cmake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler

    "D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeTmp

    Run Build Command(s):nmake /nologo cmTC_b8ddc\fast && The system cannot find the file specified
    Generator: execution of make failed. Make command was: nmake /nologo cmTC_b8ddc\fast && 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)

-- Configuring incomplete, errors occurred!
See also "D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeOutput.log".
See also "D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeError.log".
tanersener commented 3 years ago

You can find the answers of these questions on stackoverflow. Please ask them there. I don't know what they are.

As you can see from the following message, cmake tries to run a command but that command fails. It fails with The system cannot find the file specified message and that command is nmake ...., it is not cmake ..... Therefore, try to understand where does that nmake come from. It doesn't come from mobile-ffmpeg. Also make sure that you have all the prerequisites installed.

Run Build Command(s):nmake /nologo cmTC_b8ddc\fast && The system cannot find the file specified
BilalAsif25 commented 3 years ago

Thanks @tanersener tried every possible solution regarding cmake, still not able to finding a solution,

what i want is to reduce the size of apk, simply just building ffmpeg-lts-4.4-min give me 34 mb, i want to reduce it more. but anyways is there a way if i made bundle.aab file out of it and it will reduce the size for every ndk filters when uploading on playstore?

i am using bravobit/ffmpeg lib, but its not supporting android 29,30.

alexcohn commented 3 years ago

building ffmpeg-lts-4.4-min give me 34 mb

You can definitely build a bundle, or manually split APKs, or simply drop all irrelevant ABIs from the ffmpeg-lts-4.4-min package. If you only go for arm64-only, which will be enough to upload your APK to PlayStore, it will be 6.2MB of native libs.

BilalAsif25 commented 3 years ago

Thanks @alexcohn and @tanersener will try bundle

alexcohn commented 3 years ago

Google will anyway enforce AAB on Play Store next year, so it's good time to start getting used to it.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.