question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

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:closed
  • Created 4 years ago
  • Comments:12 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
Tolriqcommented, Jan 13, 2020

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)

0reactions
ojw28commented, Jun 9, 2020

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to fix FFMPEG.dll is missing error in Windows?
How to fix FFMPEG.dll is missing error in Windows? · Method 1. Fix Corrupted System Files · Method 2. Reinstall the Application ·...
Read more >
FFmpeg FAQ
No. Windows DLLs are not portable, bloated and often slow. Moreover FFmpeg strives to support all codecs natively. A DLL loader is not...
Read more >
Install FFmpeg on Windows 10 - 2019 - YouTube
How to Install FFmpeg on Windows 10 Easy and Fast.In this video we install FFmpeg on Windows 10 first we download and extract...
Read more >
Windows ffmpeg extension added in php extension issue
Putting a compiled PHP extension in the extension directory is not sufficient. Additionally, the extension has to be declared in php.ini ...
Read more >
How to Install FFmpeg on Windows: 15 Steps (with Pictures)
1. Go to https://ffmpeg.org/download.html. This brings you to a page containing the latest FFmpeg install packages and binary files. If you don't have an...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found