Search code examples
javamediajmf3gp

How to play 3gp file in Java?


It is a Java question. I try to use Fobs4jmf to play 3gp. I can see the video but without any sound. Is there any solution?

And I try a newer library called xuggler, but I only see how to manipulate ,modify the video instead of playing a video file. Is it possible to use it play video,sound?

Here is the audio file that can not be played by Fobs4jmf (Pure sound file) http://gonow.no-ip.org/example.3gp

Thanks


Solution

  • From your example.3gp, it states its properties as follows (using KMP Player):

    C:\Documents and Settings\DEVELOPER\Desktop\example.3gp
       General
          Complete name : C:\Documents and Settings\DEVELOPER\Desktop\example.3gp
          Format : MPEG-4
          Format profile : 3GPP Media Release 4
          Codec ID : 3gp4
          File size : 5.23 KiB
          Duration : 3s 460ms
          Overall bit rate : 12.4 Kbps
       Audio #1
          ID : 1
          Format : AMR
          Format/Info : Adaptive Multi-Rate
          Format profile : Narrow band
          Codec ID : samr
          Duration : 3s 460ms
          Bit rate mode : Constant
          Bit rate : 5 200 bps
          Channel(s) : 1 channel
          Sampling rate : 8 000 Hz
          Resolution : 16 bits
          Stream size : 2.20 KiB (42%)
          Title : SoundHandle
          Writing library : 
    

    You can use libVLC/VLC library via VLCJ which is supposed to be able to open any media format and containers. But, the problem is that GPL version of libVLC/VLC doesn't support AMR audio format used in 3GP container due to following statment (from Wikipedia):

    To use AMR as audio codec, VLC and FFmpeg must be compiled with AMR support. This is because the AMR license is not compatible with the VLC license.

    Moreover, when referring to this message http://mailman.videolan.org/pipermail/vlc-devel/2011-February/078807.html, it says:

    In any case, parsing AMR is done by libavformat and libavcodec from the FFmpeg project, not directly by the VideoLAN project.

    Going through the message threads above, even if it is able to open AMR audio format via restricted version, it does have problem with AMR file seeking:

    http://mailman.videolan.org/pipermail/vlc-devel/2011-February/078814.html