5

For some reasons I have to work under windows 10 OS with Android-Studio as IDE. My problem is that, exoplayer uses software and hardware decoders of Android-TV device to decode video streams. Apparently, most of the Android-TV devices have no built-in decoder for decoding mpeg-2 sounds and therefore, the sound of the mpeg-2 streams are mute however, mpeg-2 videos are playing well. In order to solve such problems, I believe that I have to embed Ffmpeg extension into exoplayer. To do this, I followed the instruction of here under Windows PowerShell as recommended, but there are some problems.

First: What should be the value of HOST_PLATFORM variable for windows when using PowerShell? Second: For unknown reasons I am receiving the following messages when executing Shell script "build_ffmpeg.sh".

What I receive when I execute shell script

Now, how can I embed ffmpeg extension for exoplayer (under windows 10 OS), enable it for decoding and solve these problems? My programming language is java. Thanks.

Note: Please tell me if you have any other (Other than embedding Ffmpeg into exoplayer) suggestions to solve my problem.

pk_mdi
  • 71
  • 6

1 Answers1

1

To build FFmpeg for ExoPlayer under Windows, you can use Git Bash for Windows to perform the building process.

All commands are almost the same (we'll get to the differences in a minute). Please note that NDK_PATH is the path of your NDK's folder (it's usually the version number, you can find it in default cases in YourAndroidSDK\ndk\yourNDKversion).

As for the differences, it's only for HOST_PLATFORM, you should use windows-x86_64, by inspecting the build_ffmpeg.sh, there is a line that says:

TOOLCHAIN_PREFIX="${NDK_PATH}/toolchains/llvm/prebuilt/${HOST_PLATFORM}/bin"

The variable HOST_PLATFORM is only utilized to get the correct NDK tools for Windows. If you go and check the above path, you'll find a folder named windows-x86_64 under 'prebuilt'. That's what goes in HOST_PLATFORM.

If you get the NDK path correctly, HOST_PLATFORM correctly, FFMPEG_MODULE_PATH correctly, and last but not least the ENABLED_DECODERS, you should be able to build FFmpeg very easily.

If you don't want to go through setting the variables all over again, just edit the build_ffmpeg.sh file using Notepad, and edit the variable to make 'em be as you want without having to do it in the PowerShell terminal all over again.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
yuroyami
  • 814
  • 6
  • 24