KMPlayer Custom Codec 2.2.0-pre4

5/5 from 2 Reviews
134 Downloads this week
updated Jun 7, 2025 8MB file size 56.3K downloads

KMPlayer Custom Codec is the libvlcjni.so decoder library that clears the external codec error for EAC3 and other advanced audio tracks in KMPlayer for Android, free to use but built only for older 32-bit ARM devices.

KMPlayer for Android can load an external decoder library to handle audio its own decoder refuses, and this file is that library.

It is a single libvlcjni.so built from VLC's decoding engine, and it clears the This Media requires an external codec to play message on EAC3 soundtracks.

One condition decides whether it is any use to you, so it belongs before the download button rather than after it.

CHECK THIS FIRST

This codec is 32-bit ARM only. It was compiled for armeabi-v7a and will not load on an arm64-v8a device, which covers virtually every Android phone and tablet sold since 2016.

How to Tell Which One Your Phone Is

The quickest tell is the error KMPlayer itself prints. If it names arm64-v8a, the phone is 64-bit and this file will do nothing; if it names armeabi-v7a, you are in the small group this codec still serves.

If you would rather check than guess, run the KMPlayer APK through our APK Checker and read the supported architectures straight off the file.

Codec Info answers the other half of the question, listing every decoder your device already has, so you can see whether the format is genuinely missing before you go hunting for a library at all.

Why There Is No Workaround on a 64-bit Phone

A 64-bit app process cannot load a 32-bit native library, and on an arm64 device KMPlayer installs as a 64-bit app. The External codec setting is still there, the file still copies into place, and the library still refuses to load, which is why the same error comes back after every attempt.

No arm64 build of this particular library has been published, so there is nothing to swap in. Renaming the file, moving it to a different folder or reinstalling the player changes none of that.

We took the file apart to be certain, and the longer answer, including why no 64-bit build can exist without somebody rebuilding VLC from source, is in our guide to what the arm64-v8a error actually means.

What It Actually Fixes

This is an audio decoder, and that is worth saying plainly because it is the source of most disappointment with it. Inside are the decoders VLC shipped in early 2015, led by EAC3, the Dolby Digital Plus format most people arrive here for, alongside AC3, DTS, TrueHD, AAC, FLAC, ALAC, Vorbis and WMA Pro.

It does not repair a broken file, and it will not make a video track play that was failing for its own reasons. A clip that opens with sound but no picture is a video codec problem, and this library has nothing to say about it.

Installing It on a 32-bit ARM Device

  1. Download the archive and save it somewhere you can find again, normally the Downloads folder.
  2. Extract libvlcjni.so from the zip into that same folder, leaving the file name exactly as it is.
  3. Open KMPlayer, go to Settings and then General, and turn on External codec use.
  4. Tap Initialize App to restart the player so it picks the library up.

If the error survives all four steps on a device you have confirmed is 32-bit, the file is most likely still inside the zip. Android's built-in file viewer can display an archive's contents without actually extracting anything, which looks identical until the player goes looking for the library.

If Your Device Is 64-bit

The simplest route is a player that needs no codec at all. VLC for Android carries its own decoders for both architectures and opens EAC3, AC3 and DTS soundtracks with nothing added.

If you would rather stay with a separate decoder add-on, MX Player takes one and it is maintained. The MX Player Custom Codec ships separate ARM32 and ARM64 builds, so the architecture question that ends this page is one it answers for you.

Two more players worth a look on a modern phone are BSPlayer for Android, which is light and handles subtitles well, and Kodi for Android if the files live on a network share rather than the phone.

The other way out is to stop asking the phone to decode the track. FFmpeg Media Encoder re-encodes the audio to something every device plays without touching the video, and our online audio converter does the same job for short files with nothing to install.

Who Should Look Elsewhere

The tell is in the settings, not in the file. Open Settings and then About phone on your device, and if the processor line reads arm64, aarch64 or 64-bit anywhere, this download is not for you and nothing on this page changes that.

Anyone running Android 12 or newer is almost certainly in that group as well, since 32-bit-only hardware had largely stopped shipping by then. Our Android version history lines up release dates with the hardware of the time if you want to place your own phone.

Sideloaders have a second question worth answering before any of this, which is whether the player itself will run on the device at all. Play Store Check reports whether an APK needs Google Play services to start.

Quick questions

Does this work on a 64-bit phone?

No. The library is built for armeabi-v7a only, and a 64-bit KMPlayer process cannot load it, so the external codec error comes straight back.

Is there an arm64 version of libvlcjni.so for KMPlayer?

Not one that has been published for this player. If you need EAC3 on a 64-bit device, VLC for Android or the MX Player Custom Codec is the working route.

Is it free?

Yes, the file is freeware and there is no paid tier, unlock or account attached to it.

Will it fix a video that plays sound but shows no picture?

No. This is an audio decoder, so a missing picture is a separate problem and needs a player with broader video support instead.

Do I still need it on current KMPlayer?

Only if your device is 32-bit and the player is still printing the external codec error. Install KMPlayer for Android first and see whether the file plays before adding anything.

Which version of VLC is this built from?

LibVLC 2.2.0-pre4, the VLC engine as it stood in January 2015, packaged as a loadable library for KMPlayer. Its format coverage tracks what VLC handled then, not what either player handles now.

More options for both architectures sit in our Android APK collection, and the Codec Finder will narrow things down if you know the format but not the fix.

Download KMPlayer Custom Codec if you still need it, or tell us what you used it for if you have history with it.

KO
kos
on 25 March 2026
Review #1
@Parsaram
The codec file included here (libvlcjni.so) is 32-bit ARM only and will not load on 64-bit devices, which covers most Android phones made after 2016.

If KMPlayer shows the error: kmp external codec libvlcjni.so cpu arm64-v8a, your phone is 64-bit and this codec is simply incompatible - there is no fix.

For a 64-bit device, VLC for Android plays EAC3, DTS, AC3 and most other formats natively on both ARM32 and ARM64 - no external codec needed.
PA
Parsaram
on 23 March 2026
Review #2
Do not play video
Share your thoughts on KMPlayer Custom Codec 2.2.0-pre4.
Verification Code
Click the image or refresh button to get a new code.
Quick heads up: Reviews & comments get a fast check before posting - no spam allowed.
ALTERNATIVES TO KMPLAYER CUSTOM CODEC