What Am I missing while compiling FFmpeg extention on Windows?
See original GitHub issue[REQUIRED] Searched documentation and issues
Hi, I know most of you work on Linux but I am hoping at least to have some clarification on what I could be missing or where would I be able to find the compiled binaries, if any. I have reviewed #3852 and #3127 about this. I really don’t think what @Crossady claimed was accurate because Powershell by default cannot understand your .sh batch script even if the host platform and NDK used is for Linux. I have actually setup and used WSL and while using PowerShell I get the log included below. That is after setting up the environment variables and executing the .sh script. I am using NDK 20b for linux-x86_64, I tried with the windows-x86_64, same results.
[REQUIRED] Question
Given those “./build_ffmpeg.sh: line XX: make: command not found”, my guess is that it is not compiling at all? or where should I expect the compiled files?
I’ve looked into: “extensions/ffmpeg/src/main/libs” and no binaries anywhere. Any help?
A full bug report captured from the device
`fatal: cannot change to 'ffmpeg': No such file or directory
Cloning into 'ffmpeg'...
remote: Enumerating objects: 585116, done.
remote: Counting objects: 100% (585116/585116), done.
remote: Compressing objects: 100% (125179/125179), done.
remote: Total 585116 (delta 469474), reused 571873 (delta 458732)
Receiving objects: 100% (585116/585116), 114.11 MiB | 2.49 MiB/s, done.
Resolving deltas: 100% (469474/469474), done.
Checking out files: 100% (7217/7217), done.
Checking out files: 100% (1045/1045), done.
Branch 'release/4.2' set up to track remote branch 'release/4.2' from 'origin'.
Switched to a new branch 'release/4.2'
install prefix /usr/local
source path .
C compiler /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi16-clang
C library bionic
host C compiler gcc
host C library
ARCH arm (armv7-a)
big-endian no
runtime cpu detection yes
ARMv5TE enabled yes
ARMv6 enabled yes
ARMv6T2 enabled yes
VFP enabled yes
NEON enabled yes
THUMB enabled no
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static no
shared yes
postprocessing support no
network support no
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
zlib
External libraries providing hardware acceleration:
v4l2_m2m
Libraries:
avcodec avresample avutil swresample
Programs:
Enabled decoders:
ac3 eac3 mlp opus vorbis
dca flac mp3 truehd
Enabled encoders:
Enabled hwaccels:
Enabled parsers:
ac3 mlp
Enabled demuxers:
Enabled muxers:
Enabled protocols:
Enabled filters:
Enabled bsfs:
null
Enabled indevs:
Enabled outdevs:
License: LGPL version 2.1 or later
WARNING: /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi16-pkg-config not found, library detection may fail.
WARNING: Building with deprecated library libavresample
./build_ffmpeg.sh: line 58: make: command not found
./build_ffmpeg.sh: line 59: make: command not found
./build_ffmpeg.sh: line 60: make: command not found
install prefix /usr/local
source path .
C compiler /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang
C library bionic
host C compiler gcc
host C library
ARCH aarch64 (armv8-a)
big-endian no
runtime cpu detection yes
NEON enabled yes
VFP enabled yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static no
shared yes
postprocessing support no
network support no
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
zlib
External libraries providing hardware acceleration:
v4l2_m2m
Libraries:
avcodec avresample avutil swresample
Programs:
Enabled decoders:
ac3 eac3 mlp opus vorbis
dca flac mp3 truehd
Enabled encoders:
Enabled hwaccels:
Enabled parsers:
ac3 mlp
Enabled demuxers:
Enabled muxers:
Enabled protocols:
Enabled filters:
Enabled bsfs:
null
Enabled indevs:
Enabled outdevs:
License: LGPL version 2.1 or later
WARNING: /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-pkg-config not found, library detection may fail.
WARNING: Building with deprecated library libavresample
libavutil/avconfig.h is unchanged
libavfilter/filter_list.c is unchanged
libavcodec/codec_list.c is unchanged
libavcodec/parser_list.c is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/demuxer_list.c is unchanged
libavformat/muxer_list.c is unchanged
libavdevice/indev_list.c is unchanged
libavdevice/outdev_list.c is unchanged
libavformat/protocol_list.c is unchanged
./build_ffmpeg.sh: line 70: make: command not found
./build_ffmpeg.sh: line 71: make: command not found
./build_ffmpeg.sh: line 72: make: command not found
install prefix /usr/local
source path .
C compiler /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android16-clang
C library bionic
host C compiler gcc
host C library
ARCH c (i686)
big-endian no
runtime cpu detection yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static no
shared yes
postprocessing support no
network support no
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
zlib
External libraries providing hardware acceleration:
v4l2_m2m
Libraries:
avcodec avresample avutil swresample
Programs:
Enabled decoders:
ac3 eac3 mlp opus vorbis
dca flac mp3 truehd
Enabled encoders:
Enabled hwaccels:
Enabled parsers:
ac3 mlp
Enabled demuxers:
Enabled muxers:
Enabled protocols:
Enabled filters:
Enabled bsfs:
null
Enabled indevs:
Enabled outdevs:
License: LGPL version 2.1 or later
WARNING: /mnt/e/_EXOPLAYER/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android16-pkg-config not found, library detection may fail.
WARNING: Building with deprecated library libavresample
libavfilter/filter_list.c is unchanged
libavcodec/codec_list.c is unchanged
libavcodec/parser_list.c is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/demuxer_list.c is unchanged
libavformat/muxer_list.c is unchanged
libavdevice/indev_list.c is unchanged
libavdevice/outdev_list.c is unchanged
libavformat/protocol_list.c is unchanged
./build_ffmpeg.sh: line 83: make: command not found
./build_ffmpeg.sh: line 84: make: command not found
./build_ffmpeg.sh: line 85: make: command not found`
Issue Analytics
- State:
- Created 4 years ago
- Comments:12 (5 by maintainers)
Top GitHub Comments
Yes FFmepg have warnings 😃
You now either use a local exo build as per the FAQ: https://github.com/google/ExoPlayer/blob/release-v2/README.md or you can build an AAR of just the extension and use that in your builds (./gradlew assembleRelease)
Closing this because there’s no sign of a contribution, and it’s not something we’re planning to do ourselves. It’s also possible that migrating the extension to
CMake
, which we intend to do at some point, will also largely solve any confusion around building on Windows.