13 Replies Latest reply on Feb 17, 2003 7:29 AM by greenman

    JMF Removed MP3 Support

    greenman

      I just noticed that the JMF has had the bulk of its MP3 support removed, due to a licensing issue, which considerably reduces its value...
      http://java.sun.com/products/java-media/jmf/
      (see "JMF 2.1.1b Available, 29-Aug-02").

      There maybe some useful stuff at
      http://www.tritonus.org/
      but, for example, their MP3 support just relies on having LAME installed anyway.

      Funnily enough, no-one seems to have tried to produce a pure java MP3 codec :-)

      Anyway, should we give any thought to what formats / conversions we intend to support (to start with at least)?

        • 1. Re: JMF Removed MP3 Support
          ricardoarguello

          There is a 100% Java MP3 decoder/player/converter library called JavaLayer:

          http://www.javazoom.net/javalayer/javalayer.html

          It's Open Source. I haven't tried it yet, but it looks very cool.

          We should use it to support MP3 if JMF doesn't support it anymore. JMF can be used to support other media formats.

          Ricardo

          • 2. Re: JMF Removed MP3 Support
            ricardoarguello
            • 3. Re: JMF Removed MP3 Support
              greenman

              > There is a 100% Java MP3 decoder/player/converter
              > library called JavaLayer:

              But not an encoder, which will be the more common requirement, ISTM.

              > It's Open Source. I haven't tried it yet, but it
              > looks very cool.

              It hasn't had a release since July 2001 - is it actually still alive?

              > We should use it to support MP3 if JMF doesn't
              > support it anymore.

              On what I saw, I can't agree :)

              >JMF can be used to support other
              > media formats.

              Without MP3 support the Power Packs lose a significant chunk of their usefulness; I really don't see what they offer (that's useful) that the Java version doesn't now (except, perhaps, MP2 support?).

              • 4. Re: JMF Removed MP3 Support
                greenman

                > We should definitely support Ogg Vorbis:

                Agreed

                > http://www.jcraft.com/jorbis/
                > http://www.javazoom.net/vorbisspi/vorbisspi.html

                > Another interesting link:
                > http://www.javazoom.net/jlgui/jlgui.html

                Again, these are all just decoders. To support the conversions suggested by the spec we need to find some means of encoding.



                • 5. Re: JMF Removed MP3 Support
                  spsa


                  Mp3 support as far as I know DOES exist in the powerpacks, because it uses the underlying decoder of the operating system. The problem is with the all-java implementation, and it has to do with licensing issues.

                  In any case we should stick to an all JMF version at least for the beggining, and try to improve on some of the JMF problems ( ex you can't add a new plug-in without shutting down and re-initliazing a processor or player)


                  spsa

                  • 6. Re: JMF Removed MP3 Support
                    greenman

                    >
                    > Mp3 support as far as I know DOES exist in the
                    > powerpacks, because it uses the underlying decoder of
                    > the operating system. The problem is with the
                    > all-java implementation, and it has to do with
                    > licensing issues.

                    Indeed - the power packs still support the decoding of files, but not streams, and no encoder of any sort (which are obviously neccessary for transcoding).

                    >
                    > In any case we should stick to an all JMF version at
                    > least for the beggining, and try to improve on some
                    > of the JMF problems ( ex you can't add a new plug-in
                    > without shutting down and re-initliazing a processor
                    > or player)

                    Ok, makes sense - actually get the thing working before running off on codec goose-chases :)

                    • 7. Re: JMF Removed MP3 Support
                      ricardoarguello

                      Maybe we should support only MP3 decoders and leave encoders for the next version, because the more important part of the EMB Foundation APIs is access to metadata.

                      The media transformation part of the API is interesting, but not vital, IMHO.

                      Ricardo

                      • 8. Re: JMF Removed MP3 Support
                        greenman

                        Cool - sounds sensible.

                        As far as MPEG audio is concerned we don't need a full decoder at all to extract meta-data (good thing too :) - parsing the chunk headers is nice and easy.

                        With your agreement, I could start work on an MPEG audio meta-data parser and have a look at what other formats require (AFAIK MPEG video is similarly structured from a meta-data point of view, i.e no full decoding required to access it).

                        • 9. Re: JMF Removed MP3 Support
                          ricardoarguello

                          Great!

                          You need to implement the MediaFormat and the MediaHeader interfaces for each particular format.

                          If you need any help, please contact me.

                          Good luck, and welcome aboard.

                          Ricardo

                          • 10. Re: JMF Removed MP3 Support
                            greenman

                            I've got the basics of an MPEG Audio meta-info reader done; thus far it returns the obvious fields - sample rate, bit rate, channels etc.

                            The next step is to handle Xing VBR headers and ID3 info tags.

                            Code encl.

                            • 11. Re: JMF Removed MP3 Support
                              ricardoarguello

                              Thanks a lot!

                              I commited your code to CVS.

                              It looks like the org.jboss.media.util.BinaryUtils class is missing in your attachment. I just commented that part. Please send the class to me.

                              If you make any change to your code, please send it as a patch.

                              Thanks again.

                              Ricardo Arguello

                              • 12. Re: JMF Removed MP3 Support
                                ricardoarguello

                                One more thing: Nice MP3 sample!

                                :-)

                                • 13. Re: JMF Removed MP3 Support
                                  greenman

                                  > It looks like the org.jboss.media.util.BinaryUtils
                                  > class is missing in your attachment. I just commented
                                  > that part. Please send the class to me.
                                  >
                                  Whoops - ditched the class, but forgot to finish the job. Sorry. Diff attached for ID3.java