JMF is old, and doesn\'t support a lot of codecs properly. I get by these days by using FFMPEG in the background, but I would like to switch to a native java solution if one
While not 100% native, you could also use Xuggler. It's an open-source (LGPL) wrapper that runs FFmpeg inside Java so you don't have to shell out, and is used by over 250 developers already today.