Baltix GNU/Linux

Feature request: Adaptive Multi-Rate Codec Support

Reported by Roman Polach on 2007-03-19
390
This bug affects 65 people
Affects Status Importance Assigned to Milestone
FFmpeg
Incomplete
Unknown
GStreamer
Expired
Medium
ffmpeg (Baltix)
Undecided
Unassigned
ffmpeg (Ubuntu)
Wishlist
Unassigned
ffmpeg-debian (Debian)
Fix Released
Unknown
gstreamer0.10-ffmpeg (Ubuntu)
Wishlist
Unassigned
mplayer (Ubuntu)
Undecided
Unassigned
opencore-amr (Ubuntu)
Undecided
brother amm
totem (Ubuntu)
Wishlist
Unassigned
vlc (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: ffmpeg

More information:
http://www.3gpp.org/ftp/Specs/html-info/26-series.htm
http://en.wikipedia.org/wiki/Adaptive_Multi-Rate
http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC20
http://www.ffmpeg.org/general.html#TOC2
http://wiki.multimedia.cx/index.php?title=AMR

AMR (Adaptive Multi-Rate) is a vocoder employed in low-bitrate applications like mobile phones. There are narrowband and wideband variants of this codec. AMR was adopted as the standard speech codec by 3GPP in October 1998 and is now widely used in GSM and UMTS. FFmpeg should be able to decode AMR with OpenCORE AMR libraries (package: libopencore-amrnb0) but does not.

Example Media:
http://samples.mplayerhq.hu/A-codecs/amr/

Current result:
Audio does not play.

Expected result:
Play audio. If codec is not installed, suggest proper package. Expect codec to be supported.

There is no codec pack for gstreamer or ffmpeg to play this type of file. The average user will do the following.
totem->gstramer->no codec->gnome-app-install gives the following error after looking for a codec:

No packages with the requested plugins found
The requested plugins are:
Adaptive Multi Rate (AMR) decoder

VLC reports the following error when opening the video:
No suitable decoder module:VLC does not support the audio or video format "samr". Unfortunately there is no way for you to fix this.

This bug was create to request AMR to be supported by gstreamer and ffmpeg. If this is not possible due to legal issues or other roadblocks, please define what the issue is with supporting this codec.

Tested on:
i386, Ubuntu Desktop 9.10, Linux 2.6.31-15

Related branches

Reinhard Tartler (siretart) wrote :

While having a look at the linked zip file you pointed to, I found this in the included word document:

Copyright Notification
No part may be reproduced except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.

Sorry, this means we cannot include it into our ffmpeg tree.

I suggest you work together with ffmpeg upstream to get a free implementation of AMR into ffmpeg.

Changed in ffmpeg:
importance: Undecided → Wishlist
status: Unconfirmed → Rejected
dotancohen (dotancohen) wrote :

I asked on the ffmpeg mailing list about the licensing of the AMR code, and it turns out that the 3GPP had written the code. I wrote to them nicely asking about rereleasing the software with an open license and the benefits of such action. I recommend to anyone interested in seeing AMR support natively in Ubuntu to write to them:
http://www.3gpp.org/Contact/contact.htm

Changed in ffmpeg:
status: Invalid → Won't Fix
dotancohen (dotancohen) on 2008-09-13
Changed in ffmpeg-debian:
status: Won't Fix → Confirmed

dotancohen <email address hidden> writes:

> ** Changed in: ffmpeg-debian (Ubuntu)
> Status: Won't Fix => Confirmed

Unless you intend to really work on the packge, please respect the
status changes of people that actually do work on the package.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

My field is Mechanical Engineering, not CS. And let there be no mistake, I very much respect the people who work on the packages and I appreciate their efforts.

However, this bug report requests an extremely important feature for ffmpeg and it is being denied (rightly) because of licensing issues. There are two ways to fix this:
1) Rewrite the AMR codecs from scratch under a FOSS license.
2) Relicense the existing AMR codecs.

Both approaches are currently under development. This bug cannot be fixed TODAY, but that does not invalidate it. The day will come when one or both of the solutions will come to fruitation, and that day this bug can be fixed. It should remain open until then.

No it should be closed as invalid until such a solution is available.
We can't have 10000 open bugs for every feature perceived as missing
or this bugtracker would be pointless for the developers.

On 9/15/08, dotancohen <email address hidden> wrote:
> My field is Mechanical Engineering, not CS. And let there be no mistake,
> I very much respect the people who work on the packages and I appreciate
> their efforts.
>
> However, this bug report requests an extremely important feature for ffmpeg
> and it is being denied (rightly) because of licensing issues. There are two
> ways to fix this:
> 1) Rewrite the AMR codecs from scratch under a FOSS license.
> 2) Relicense the existing AMR codecs.
>
> Both approaches are currently under development. This bug cannot be
> fixed TODAY, but that does not invalidate it. The day will come when one
> or both of the solutions will come to fruitation, and that day this bug
> can be fixed. It should remain open until then.
>
> --
> ffmpeg does not have AMR audio support
> https://bugs.launchpad.net/bugs/93849
> You received this bug notification because you are a member of MOTU
> Media Team, which is subscribed to ffmpeg-debian in ubuntu.
>

As noted at http://rob.opendot.cl/index.php/2008/07/23/lc-aac-and-sbr-amr-nb-floating-point-presets/
(dated July 23rd, 2008) free AMR support is under development (but today probably not usable yet)
so we will hopefully see free ffmpeg's AMR support soon or later...

That's good to hear. however, from a bugtracker purpose, it is more
effective if the bug were closed for now and reopened once this work is
available in a position that Ubuntu developers can work off.

On Mon, Sep 15, 2008 at 3:30 PM, Roman Polach <email address hidden> wrote:

> As noted at
> http://rob.opendot.cl/index.php/2008/07/23/lc-aac-and-sbr-amr-nb-floating-point-presets/
> (dated July 23rd, 2008) free AMR support is under development (but today
> probably not usable yet)
> so we will hopefully see free ffmpeg's AMR support soon or later...
>
> --
> ffmpeg does not have AMR audio support
> https://bugs.launchpad.net/bugs/93849
> You received this bug notification because you are a member of MOTU
> Media Team, which is subscribed to ffmpeg-debian in ubuntu.
>

A better resolution would be "later" but Launchpad currently does not support it. I filed a bug requesting the "later" status here:
https://bugs.launchpad.net/launchpad/+bug/270780

dotancohen (dotancohen) wrote :

It appears that the FOSS AMR decoder that Roman mentions has already been in ffmpeg trunk for almost a month:
http://rob.opendot.cl/index.php/2008/08/22/aac-decoder/

dotancohen <email address hidden> writes:

> It appears that the FOSS AMR decoder that Roman mentions has already been in ffmpeg trunk for almost a month:
> http://rob.opendot.cl/index.php/2008/08/22/aac-decoder/

I though AMR was something different from AAC? Can you confirm that the
newly developed ffmpeg aac decoder is able to decode AMR files?
--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

I agree with Reinhard, looks like they're closer to a native AAC decoder (i.e. not relying on faad) but no progress update on an AMR decoder or encoder.

dotancohen (dotancohen) wrote :

I was wrong, I read AAC as AMR because I sat at the computer when I should have been sleeping!

In any case I have already heard back from the 3GPP and there seems to be little in the way of getting the native AMR codec opened up. They don't know very much about software licensing, and simply slapped a generic CYA license on the software without giving it a second thought. If there is someone who can make a strong point from a business perspective about why the software licensed should be changed, I would appreciate if they would contact me in private mail to assist me in convincing them.

Thanks.

dotancohen (dotancohen) wrote :

The 3GPP wants me to fill out a copyright questionnaire to make a formal request regarding relicensing the AMR codec. I am not a lawyer nor a software engineer, so I would appreciate it if people more qualified than I would review the document and email me the results. Thanks.

Krinn (kr86420) wrote :

There is ongoing work to implement the ACELP codecs in ffmpeg, this includes AMR, G.729, and RealAudio SIPR. This is quite a large project as there are many variants of this codec.

The current (incomplete) code is available in the ffmpeg svn: http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/ The files are g729* and acelp* The work from the Summer of Code project is in http://svn.mplayerhq.hu/soc/amr/

Contributors are welcome to submit patches to the ffmpeg-devel mailing list. Those who wish to contribute may want to start by debugging some of the existing patches which are listed on the ffmpeg wiki at http://wiki.multimedia.cx/index.php?title=Interesting_Patches

It is possible to compile and link ffmpeg against the 3GPP reference code (libamr). This library does not have an appropriate open-source license, and will not be included in debian or ubuntu, so please don't ask.

Changed in ffmpeg-debian:
status: Unknown → New
dotancohen (dotancohen) wrote :

How does one configure bug blocking in Launchpad? Please mark this bug as blocking Bug #1. Today I lost a user from Ubuntu 8.04 to Windows XP Home because she does not want to enable 'questionable' repos (medibuntu) and she needs to play video and audio files from her Nokia 6280 telephone on her computer. In fact, for over 6 months she had been dual booting because of this issue alone, and today she decided that it is too annoying to boot into a separate OS just to play files from the phone.

John Dong (jdong) wrote :

You've been asked to stop spamming this bug report with useless comments but have refused. I am sick and tired of these pointless bug mails wasting my time as I look through my Launchpad mail for work to do. For the record I am unsubscribing from this bug and blocking further bug updates generated from my e-mail account. I am not interested in working on this bug anymore.

Good bye.

Reinhard Tartler (siretart) wrote :

the altlinux guys have a patch for dlopening the amr libs at runtime.

I haven't tested it and I think it needs more work, because the package needs to include copies of the headers here. but the most complicated work is already in this patch, so if somebody wants to work on it, feel free.

Please contact 'tresh' on #ffmpeg-devel if you are working on it!

Response for dotancohen with respect to the questionnaire:

From looking at the 3GPP questionnaire and their website, 3GPP does not have the rights to licensing the code itself, simply the rights to providing access and redistribution right for the specs:

  "According to the Article 3.2.2 of the Third Generation Partnership
   Project Agreement, the 3GPP Organizational Partners jointly own
   copyright on the Technical Specifications and the Technical Reports
   approved by 3GPP."

Voiceage apparently has the IP rights to the AMR codec (http://www.voiceage.com/amr_licterms.php) and requires payment on a per use basis, which is obviously not possible for us.

Lionel Le Folgoc <email address hidden> already created ffmpeg deb packages with AMRNB and AMRWB format support, I found packages for Ubuntu 8.10 (Intrepid) at Medibuntu-maintainers package archive:

https://launchpad.net/~medibuntu-maintainers/+archive/ppa

Maybe someone knows where I can find ffmpeg packages with AMR support for Ubuntu 9.04 (Jaunty) ?

I'm pasting changelog from patched ffmpeg packages for Ubuntu 8.10:

ffmpeg (3:0.svn20080206-12ubuntu3+unstripped5+amr1) intrepid; urgency=low
  * debian/patches/60_dlopen_libamr.diff: add libamr support via dlopen().
    (LP: #93849)
  * debian/patches/series: add the above patch.
  * debian/confflags: pass --enable-libamrnbbin and --enable-libamrwbbin.
 -- Lionel Le Folgoc < <email address hidden>> Mon, 27 Oct 2008 17:54:09 +0100

Mantas Kriaučiūnas <email address hidden> writes:

> Lionel Le Folgoc <email address hidden> already created ffmpeg deb
> packages with AMRNB and AMRWB format support, I found packages for
> Ubuntu 8.10 (Intrepid) at Medibuntu-maintainers package archive

the problem with that approach is that it creates a hard dependency on
the libamr packages, which are totally unredistributable and cannot
possibly included into ubuntu proper.

What could be included would be perhaps the headers. If somone would
contribute a patch against libavcodec to load these libraries at
runtime, we wouldn't need to distribute the amr packages. Hint: The
altlinux guys do ship such a patch, but it needs cleanups.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Mantas Kriaučiūnas (mantas) wrote :

Hi Reinhard,

On Sun, May 10, 2009 at 07:00:43AM -0000, Reinhard Tartler wrote:
> Mantas Kriaučiūnas <email address hidden> writes:
> > Lionel Le Folgoc <email address hidden> already created ffmpeg deb
> > packages with AMRNB and AMRWB format support, I found packages for
> > Ubuntu 8.10 (Intrepid) at Medibuntu-maintainers package archive
>
> the problem with that approach is that it creates a hard dependency on
> the libamr packages, which are totally unredistributable and cannot
> possibly included into ubuntu proper.

Are you soru, that ffmpeg packages created by <email address hidden> creates
hard dependancy? According to the changelog, these ffmpeg packages adds
libamr support via dlopen(), this is runtime libamr detection, so, no hard
dependancies on the libamr packages. I can paste changelog from patched
ffmpeg packages for Ubuntu 8.10 again:

ffmpeg (3:0.svn20080206-12ubuntu3+unstripped5+amr1) intrepid; urgency=low
  * debian/patches/60_dlopen_libamr.diff: add libamr support via dlopen().
    (LP: #93849)
  * debian/patches/series: add the above patch.
  * debian/confflags: pass --enable-libamrnbbin and --enable-libamrwbbin.
   -- Lionel Le Folgoc < <email address hidden>> Mon, 27 Oct 2008 17:54:09

> What could be included would be perhaps the headers. If somone would
> contribute a patch against libavcodec to load these libraries at
> runtime, we wouldn't need to distribute the amr packages. Hint: The
> altlinux guys do ship such a patch, but it needs cleanups.
>
> --
> Can't hear audio from 3GP video files: AMR audio support missing in ffmpeg
> https://bugs.launchpad.net/bugs/93849

--
Labanaktis/Good luck,
Mantas Kriaučiūnas Jabber ID: <email address hidden> GPG ID: 43535BD5
Public organization "Open Source for Lithuania" - www.akl.lt
Naudok Baltix GNU/Linux sistemą savo kompiuteryje - http://baltix.lt

Reinhard Tartler (siretart) wrote :

Mantas Kriaučiūnas <email address hidden> writes:

> Hi Reinhard,
>
> On Sun, May 10, 2009 at 07:00:43AM -0000, Reinhard Tartler wrote:
>> Mantas Kriaučiūnas <email address hidden> writes:
>> > Lionel Le Folgoc <email address hidden> already created ffmpeg deb
>> > packages with AMRNB and AMRWB format support, I found packages for
>> > Ubuntu 8.10 (Intrepid) at Medibuntu-maintainers package archive
>>
>> the problem with that approach is that it creates a hard dependency on
>> the libamr packages, which are totally unredistributable and cannot
>> possibly included into ubuntu proper.
>
> Are you soru, that ffmpeg packages created by <email address hidden> creates
> hard dependancy? According to the changelog, these ffmpeg packages adds
> libamr support via dlopen(), this is runtime libamr detection, so, no hard
> dependancies on the libamr packages. I can paste changelog from patched
> ffmpeg packages for Ubuntu 8.10 again:
>
> ffmpeg (3:0.svn20080206-12ubuntu3+unstripped5+amr1) intrepid; urgency=low
> * debian/patches/60_dlopen_libamr.diff: add libamr support via dlopen().
> (LP: #93849)
> * debian/patches/series: add the above patch.
> * debian/confflags: pass --enable-libamrnbbin and --enable-libamrwbbin.
> -- Lionel Le Folgoc < <email address hidden>> Mon, 27 Oct 2008 17:54:09

that is news to me. we could probably integrate this in the
ffmpeg-debian package.

could you (or Lionel) please extract that patch and file it against the
ffmpeg-debian package in debian? I'll review it and see if we can
integrate it.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Lionel Le Folgoc (mrpouit) wrote :

Le 10/05/2009 21:26, Reinhard Tartler a écrit :
> Mantas Kriaučiūnas <email address hidden> writes:
>
>> Hi Reinhard,
>>
>> On Sun, May 10, 2009 at 07:00:43AM -0000, Reinhard Tartler wrote:
>>> Mantas Kriaučiūnas <email address hidden> writes:
>>>> Lionel Le Folgoc <email address hidden> already created ffmpeg deb
>>>> packages with AMRNB and AMRWB format support, I found packages for
>>>> Ubuntu 8.10 (Intrepid) at Medibuntu-maintainers package archive
>>> the problem with that approach is that it creates a hard dependency on
>>> the libamr packages, which are totally unredistributable and cannot
>>> possibly included into ubuntu proper.
>> Are you soru, that ffmpeg packages created by <email address hidden> creates
>> hard dependancy? According to the changelog, these ffmpeg packages adds
>> libamr support via dlopen(), this is runtime libamr detection, so, no hard
>> dependancies on the libamr packages. I can paste changelog from patched
>> ffmpeg packages for Ubuntu 8.10 again:
>>
>> ffmpeg (3:0.svn20080206-12ubuntu3+unstripped5+amr1) intrepid; urgency=low
>> * debian/patches/60_dlopen_libamr.diff: add libamr support via dlopen().
>> (LP: #93849)
>> * debian/patches/series: add the above patch.
>> * debian/confflags: pass --enable-libamrnbbin and --enable-libamrwbbin.
>> -- Lionel Le Folgoc < <email address hidden>> Mon, 27 Oct 2008 17:54:09
>
> that is news to me. we could probably integrate this in the
> ffmpeg-debian package.
>
> could you (or Lionel) please extract that patch and file it against the
> ffmpeg-debian package in debian? I'll review it and see if we can
> integrate it.
>

Hi Reinhard,

This patch was taken from the altlinux package (I probably slightly
changed it to apply cleanly). You wrote about it in a previous comment
(<https://bugs.launchpad.net/ubuntu/+source/ffmpeg-debian/+bug/93849/comments/18>
I think), that it needs more work, and indeed, it seems it was rejected
upstream when it was submitted (thread available at
<http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-April/027866.html>).

I don't have the time to further work on this currently unfortunately
(not even to update it for jaunty in the PPA). There is probably an
up-to-date version on
<http://sisyphus.ru/srpm/Sisyphus/ffmpeg/patches/0> though.

--
Lionel Le Folgoc - https://launchpad.net/~mrpouit
E61E 116D 4BA1 3936 0A33 F61D 65D9 A66E 10E2 969A

Read here: http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon/
It seems that there's a free (apache licenced) amr decoder and encoder in the android GIT repository.
let's hope it will get integrated into ffmpeg!

Nicolò Chieffo <email address hidden> writes:

> Read here:
> http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon/ It
> seems that there's a free (apache licenced) amr decoder and encoder in
> the android GIT repository. let's hope it will get integrated into
> ffmpeg!

discussed upstream here:

http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/89337

Tasks left to do:

 - package the source from android [1] properly.
 - get it packaged as ubuntu package.
 - get it into the archive.
 - backport the new amr wrapper to the 0.5 branch.

any takers?

[1] http://android.git.kernel.org/?p=platform/external/opencore.git;a=tree;f=codecs_v2/audio/gsm_amr/amr_nb/dec;hb=HEAD

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

On Tuesday 12 May 2009 06:29:39 Reinhard Tartler wrote:
> Nicolò Chieffo <email address hidden> writes:
> > Read here:
> > http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon/ It
> > seems that there's a free (apache licenced) amr decoder and encoder in
> > the android GIT repository. let's hope it will get integrated into
> > ffmpeg!

I like this implementation better. I'll look into this instead.

> discussed upstream here:
>
> http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/89337

Direct link to the start of the thread.
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-April/068167.html

> Tasks left to do:
>
> - package the source from android [1] properly.
> - get it packaged as ubuntu package.
> - get it into the archive.
> - backport the new amr wrapper to the 0.5 branch.
>
> any takers?
>
> [1]
> http://android.git.kernel.org/?p=platform/external/opencore.git;a=tree;f=co
>decs_v2/audio/gsm_amr/amr_nb/dec;hb=HEAD

--
Regards,
Andres

Andres Mejia (amejia1) wrote :

On Tuesday 12 May 2009 16:12:50 Diego Biurrun wrote:
> On Tue, May 12, 2009 at 04:04:38PM -0400, Andres Mejia wrote:
> > On Tuesday 12 May 2009 06:29:39 Reinhard Tartler wrote:
> > > Nicolò Chieffo <email address hidden> writes:
> > > > Read here:
> > > > http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon/ It
> > > > seems that there's a free (apache licenced) amr decoder and encoder
> > > > in the android GIT repository. let's hope it will get integrated
> > > > into ffmpeg!
> >
> > I like this implementation better. I'll look into this instead.
>
> My favorite is the native FFmpeg implementation that was developed
> during Google Summer of Code 2006. Unfortunately it was never finished.
> With a bit of luck it will be finished during this year's SoC. Help is
> very much welcome.
>
> Diego

Yet another interesting implementation is retrocode.
https://sourceforge.net/projects/retrocode/

This one is GPL3+.

--
Regards,
Andres

Andres Mejia (amejia1) wrote :

On Tuesday 12 May 2009 16:45:31 Diego Biurrun wrote:
> On Tue, May 12, 2009 at 04:27:02PM -0400, Andres Mejia wrote:
> > On Tuesday 12 May 2009 16:12:50 Diego Biurrun wrote:
> > > On Tue, May 12, 2009 at 04:04:38PM -0400, Andres Mejia wrote:
> > > > On Tuesday 12 May 2009 06:29:39 Reinhard Tartler wrote:
> > > > > Nicolò Chieffo <email address hidden> writes:
> > > > > > Read here:
> > > > > > http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon/
> > > > > > It seems that there's a free (apache licenced) amr decoder and
> > > > > > encoder in the android GIT repository. let's hope it will get
> > > > > > integrated into ffmpeg!
> > > >
> > > > I like this implementation better. I'll look into this instead.
> > >
> > > My favorite is the native FFmpeg implementation that was developed
> > > during Google Summer of Code 2006. Unfortunately it was never
> > > finished. With a bit of luck it will be finished during this year's
> > > SoC. Help is very much welcome.
> >
> > Yet another interesting implementation is retrocode.
> > https://sourceforge.net/projects/retrocode/
> >
> > This one is GPL3+.
>
> No, this is not an implementation of AMR, it uses the nonfree libamr.
>
> Diego

Yeah, just realized that.

By the way, PacketVideo was able to obtain permission from 3GPP to use the code
in the specs under the Apache License. How hard would it be for someone to ask
3GPP for FFmpeg to use the code under (L)GPL?

--
Regards,
Andres

> How hard would it be for someone to ask
> 3GPP for FFmpeg to use the code under (L)GPL?

I already asked, they requested that a formal request be made via copyright questionnaire. See comment#14:
https://bugs.launchpad.net/ubuntu/+source/ffmpeg-debian/+bug/93849/comments/14

Krinn (kr86420) wrote :

The AMR codec from android is available under the Apache license. This license is incompatible with GPLv2, although it is compatible with GPLv3. You have the option of distributing FFmpeg under GPLv3, and can do so along with the apache-licensed AMR codec. However, the FFmpeg developers would like to maintain GPLv2 compatibility and for this reason have chosen not to include this code in FFmpeg.

Development of a new AMR decoder for inclusion in FFmpeg has been sponsored as part of the 2009 Google Summer of Code. For the status of this project, please see http://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code

Roman Polach (rpolach) wrote :

A solution of this license problem would be to
develop separate gstreamer plugin
(there are a lot of gstreamer plugins with different licensing)
based on android's AMR decoder.
Of course, when (and if) GSoC AMR implementation would be finished,
it would be great too.

Tomáš Myšík (gapon) wrote :

not sure but maybe with mplayer-nogui package (from medibuntu repo) this could work

Pander (pander) wrote :

please, see also this https://bugs.launchpad.net/ubuntu/+bug/179278 issue regarding packaging and distributing libamrnb and libamrwb

Changed in ffmpeg-debian (Debian):
status: New → Confirmed
Krinn (kr86420) wrote :

FFmpeg now has the ability to link against libopencore-amr. See bug 404003

affects: ffmpeg-debian (Ubuntu) → ffmpeg (Ubuntu)
Roman Polach (rpolach) wrote :

New GStreamer "ugly" plug-ins 0.10.13 include both AMR-WB and AMR-NB decoder (based on OpenCore)

mil mekos (animal6-6-6) on 2009-11-27
Changed in ffmpeg (Ubuntu):
assignee: nobody → mil mekos (animal6-6-6)

mil mekos <email address hidden> writes:

> ** Changed in: ffmpeg (Ubuntu)
> Assignee: (unassigned) => mil mekos (animal6-6-6)

May I ask you how do you intend to solve this issue?

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

komputes (komputes) on 2009-12-02
tags: added: codec

Can someone please upload a 3gp/amr file they are having issues with. Please add a link to the file in the case description for testing purposes.

Koen (gorgabal) wrote :

@komputes

here is a file with the problem. conferting it to *mpg seemd to solve the problem

dotancohen (dotancohen) wrote :

> Can someone please upload a 3gp/amr file they are having issues
> with. Please add a link to the file in the case description for testing
> purposes.

Shahar Or (mightyiam) wrote :

The audio doesn't play in karmic.

Shahar Or (mightyiam) wrote :

Can anyone provide upstream bug links please?

Doug McMahon (mc3man) wrote :

You could easily add amr support to ffmpeg in both karmic and lucid. While the choice of -r19352 may not of been the best one it does have amr support possible thru the libopencore-amr libs.
(hopefully the lucid -r will be more current, improvments across the board, including to amr and native wma3

Just add the libopencore-amr -devs to build deps, enable version3, and make a small change in your rules.

"The audio doesn't play in karmic" - as noted the GStreamer "ugly" plug-ins 0.10.13 does support amr thru the opencore libs, while it's in lucid I wouldn't expect to see in karmic.

Atm though, it very easy to build the ugly plugin for karmic using the lucid source, .diff and dsc. While you'd need to do it yourself (unless a ppa does it), amr playback in totem is then possible (tested here, no issues on karmic

If I'm in lucid will I have amr support out of the box by installing
those opencore-amr libs? Or should I do any other steps?

Nicolò Chieffo <email address hidden> writes:

> If I'm in lucid will I have amr support out of the box by installing
> those opencore-amr libs? Or should I do any other steps?

before enabling opencore-amr, I have some license concerns:

by doing so, libavcodec would need to be distributed under GPLv3. I am
pretty sure (although I didn't check yet) that there are applications
that are licensed under GPLv2. My understanding is that by doing this
change, we would create redistribution issues for GPLv2 only
applications.

Does anyone care to do a proper analysis on this issue?

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Changed in ffmpeg (Ubuntu):
status: Confirmed → In Progress
Changed in ffmpeg (Ubuntu):
status: In Progress → Confirmed
komputes (komputes) on 2009-12-31
summary: - Can't hear audio from 3GP video files: AMR audio support missing in
- ffmpeg
+ Feature request: Adaptive Multi-Rate Codec Support
komputes (komputes) on 2009-12-31
description: updated
komputes (komputes) on 2009-12-31
Changed in gstreamer:
importance: Undecided → Unknown
status: New → Unknown
komputes (komputes) wrote :

On the upstream ffmpeg bug, cehoyos has recommended to use ffmpeg SVN with the options explained in the documentation. You can pull the source code by running:

    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

Can anyone confirm that ffmpeg from SVN with the options below actually plays AMR properly?
Are there any PPAs containing packages that can resolve this issue for the average user?

From the documentation[1]:
FFmpeg can make use of the OpenCORE libraries for AMR-NB decoding/encoding and AMR-WB decoding. Go to http://sourceforge.net/projects/opencore-amr/ and follow the instructions for installing the libraries. Then pass --enable-libopencore-amrnb and/or --enable-libopencore-amrwb to configure to enable the libraries.

[1] http://www.ffmpeg.org/general.html#SEC2

komputes (komputes) wrote :

On the upstream GNOME/GStreamer bug, David Schleef, mentioned that AMR-WB and AMR-NB (opencore amr
libraries) plugin are supported by gstreamer0.10-plugins-ugly. This is odd since I have gstreamer0.10-plugins-ugly 0.10.12-1 installed. Does anyone have some insight as to why this would affect Ubuntu users but seems resolved upstream?

Changed in ffmpeg:
status: Unknown → New

komputes <email address hidden> writes:

> On the upstream ffmpeg bug, cehoyos has recommended to use ffmpeg SVN
> with the options explained in the documentation. You can pull the source
> code by running:
>
> svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

this will break all applications that have been built against ubuntu's
system ffmpeg that is currently at version 0.5. Please don't do that on
production systems.

> Can anyone confirm that ffmpeg from SVN with the options below
> actually plays AMR properly?

It will probably do. and I could just add the build dependency and built
the system ffmpeg against opencore-amr.

However for license reasons, this would render the resulting ffmpeg
libraries to be licensed as GPLv3. Have you considered and listed how
many packages in the archive would have to be removed because of that?

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

komputes (komputes) wrote :

Hi Reinhard. I would not recommend anyone to test SVN on a production machine, but on a test box, in a VM or another type of sandboxed test environment.

I had not considered the legal issues with this request, simply the technical side (curiosity - to see it work). I still don't quite understand why packages would have to be removed because of that (but then again I am not a lawyer). Is there any way to make opencore-amr modular, so it can be added after the fact without compiling ffmpeg?

Meanwhile on the GNOME upstream bug I have gotten the following response:
Sebastian Dröge 2009-12-31 10:19:05 UTC
Yes, you need at least 0.10.13 of gst-plugins-ugly.

Is -ugly 0.10.13 available in a PPA for testing? Cheers!

Reinhard Tartler (siretart) wrote :

komputes <email address hidden> writes:

> Hi Reinhard. I would not recommend anyone to test SVN on a production
> machine, but on a test box, in a VM or another type of sandboxed test
> environment.

then please be more careful before giving such advice.

> I had not considered the legal issues with this request, simply the
> technical side (curiosity - to see it work). I still don't quite
> understand why packages would have to be removed because of that (but
> then again I am not a lawyer). Is there any way to make opencore-amr
> modular, so it can be added after the fact without compiling ffmpeg?

I don't understand what you mean here.

The problem is that GPLv2 only applications may not be redistributed
with an GPLv3 only library. ffmpeg is currently GPLv2 or later, linking
it with opencore-amr would make it GPLv3 only.

> Meanwhile on the GNOME upstream bug I have gotten the following response:
> Sebastian Dröge 2009-12-31 10:19:05 UTC
> Yes, you need at least 0.10.13 of gst-plugins-ugly.
>
> Is -ugly 0.10.13 available in a PPA for testing? Cheers!

gstreamer is a bit special, because it loads amr at run-time. This way,
the license violation happens on the user's system, and not on the
ubuntu build machines. Loading opencore-amr at runtime is (currently)
not possible with current ffmpeg, though feel free to send in a patch.

still very messy, IMO.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Changed in ffmpeg:
status: New → Incomplete
Roman Polach (rpolach) wrote :

Note: mixing these licences on user's system is NOT "license violation",
because it is not distribution of these pieces.. It is completely legal to mix
on your own machine software with different licenses, even non-free
(if you obtain all parts legally and you are allowed to modify - which is
at least for ALL free software perfectly legal)

kesava84 (kesava84) on 2010-01-06
Changed in ffmpeg (Ubuntu):
assignee: mil mekos (animal6-6-6) → kesava84 (kesava84)
shankao (shankao) on 2010-01-27
tags: added: metabug
Sebastien Bacher (seb128) wrote :

not a totem issue since it only uses gstreamer

tags: removed: metabug
tags: removed: codec
Changed in gstreamer0.10-ffmpeg (Ubuntu):
importance: Undecided → Wishlist
Changed in totem (Ubuntu):
importance: Undecided → Wishlist
status: New → Invalid
Changed in vlc (Ubuntu):
status: New → Confirmed
Changed in ffmpeg (Ubuntu):
assignee: kesava84 (kesava84) → nobody
Fabián Rodríguez (magicfab) wrote :

I got asked this same question again for the 100th time tonight. I took some time to check the answer, at least for Ubuntu 9.10. It seems there's now a simpler workaround than compiling stuff. To be able to watch & hear 3GP video files, but most importantly convert them to other formats follow these steps:

1) Install ffmpeg (this will install Ubuntu's version):
sudo apt-get install ffmpeg

2) Activate the Medibuntu repositories. See:
https://help.ubuntu.com/community/Medibuntu#Adding%20the%20Repository

3) Install libavcodec-extra-52 winff
sudo apt-get install libavcodec-extra-52 winff

libavcodec-extra-52 enables AMR support in ffmpeg and winff is a GUI for video files conversion

Once installed, drag & drop a 3gp file to WinFF, click convert (play will also play the file). I tried AVI > MS Compatible AVI and it produced a file that could be played from totem.

I hope this is useful, if anyone can confirm this workaround I'll add it to my bag of dirty tricks.

Pander (pander) wrote :

Thanks! Can someone close this and other AMR related bugs?

dotancohen (dotancohen) wrote :

> Thanks! Can someone close this and other AMR related bugs?

No. A workaround is not a fix.

If installing libavcodec-extra-52 enables AMR support in ffmpeg, why
is it then necessary to convert the video before playing it?

--
http://rrt.sc3d.org

Mehdi Hassanpour (mehdi) wrote :

No it doesn't! I just installed it and still no sound in 3gp files.

On Fri, Apr 9, 2010 at 2:31 PM, Reuben Thomas <email address hidden> wrote:

> If installing libavcodec-extra-52 enables AMR support in ffmpeg, why
> is it then necessary to convert the video before playing it?
>
> --
> http://rrt.sc3d.org
>
> --
> Feature request: Adaptive Multi-Rate Codec Support
> https://bugs.launchpad.net/bugs/93849
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

> No it doesn't! I just installed it and still no sound in 3gp files

It does. When I installing libavcodec-extra-52 all my 3gp files playing with sound

Fabián Rodríguez, many thanks.

On Fri, Apr 09, 2010 at 17:20:38 (CEST), Ale}{@nder wrote:

>> No it doesn't! I just installed it and still no sound in 3gp files
>
> It does. When I installing libavcodec-extra-52 all my 3gp files playing
> with sound

only with packages from medibuntu, which is an external, unsupported 3rd
party repository.

Until amr audio works without external packages, this bug remains valid

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

brother amm (brother-amm) wrote :

No packages with the requested plugins found
The requested plugins are:
Adaptive Multi Rate (AMR) decoder

Changed in opencore-amr (Ubuntu):
assignee: nobody → brother amm (brother-amm)
status: New → Invalid
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ffmpeg - 4:0.6-1ubuntu1

---------------
ffmpeg (4:0.6-1ubuntu1) maverick; urgency=low

  * merge from debian/experimental. remaining changes:
    - don't disable encoders
    - don't build against libfaad, libdirac and libopenjpeg (all in universe)
  * new upstream release
    - internal vorbis encoder is disabled. LP: #585330
    - includes native AMR-NB decoder, LP: #93849
    - api-example is fixed: LP: #557319

ffmpeg (4:0.6-1) experimental; urgency=low

  * new upstream release
    - adds VP8 support via libvpx, Closes: #582274
  * depend on libavfilter-extra-1 instead of -0, Closes: #583728
  * add conflicts to the ffprobe package, it has been merged upstream now
 -- Reinhard Tartler <email address hidden> Wed, 16 Jun 2010 12:53:24 +0200

Changed in ffmpeg (Ubuntu):
status: Confirmed → Fix Released
Fabián Rodríguez (magicfab) wrote :

If anyone is wondering, ffmpeg's implementation of AMR-NB decoding is done via the OpenCore libraries:
http://sourceforge.net/projects/opencore-amr/

Upstream's release notes also indicate:
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
- RTP depacketization of AMR

Reinhard Tartler (siretart) wrote :

On Wed, Jun 16, 2010 at 16:10:55 (CEST), Fabián Rodríguez wrote:

> If anyone is wondering, ffmpeg's implementation of AMR-NB decoding is done via the OpenCore libraries:
> http://sourceforge.net/projects/opencore-amr/
>
> Upstream's release notes also indicate:
> - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
> - nonfree libamr support for AMR-NB/WB decoding/encoding removed
> - RTP depacketization of AMR

also mentioned:

- AMR-NB decoder

Also checkout the file libavcodec/amrnbdec.c in the sources.

AMR-WB is still missing, though.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Changed in ffmpeg-debian (Debian):
status: Confirmed → Fix Released
Fabián Rodríguez (magicfab) wrote :

So I just tested this in Maverick, double-clicking on a .3gp file will ask to install new packages and result in sound being present from the stock movie player.

Rémi Denis-Courmont (rdenis) wrote :

VLC 1.1.0 in Ubuntu Maverick should already have fixed this.

Changed in vlc (Ubuntu):
status: Confirmed → Fix Released

I did everything Fabián Rodríguez posted in #54 comment and everything is correct. Gracias Fabián.

Changed in gstreamer:
importance: Unknown → Medium
status: Unknown → Expired
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gstreamer0.10-ffmpeg (Ubuntu):
status: New → Confirmed
Changed in mplayer (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.