[Jaunty] AMR decodec not working

Bug #340408 reported by Nicolò Chieffo on 2009-03-10
This bug affects 2 people
Affects Status Importance Assigned to Milestone

Bug Description

I'm not able to play audio on my cellphone 3gp recordings. totem keeps asking to install amr codec.
I manually installed the medibuntu packages:

I think that the problem is that there is no ffmpeg package with amr support in medibuntu. why did you remove the package?

Nicolò Chieffo (yelo3) wrote :

I don't understand. medibuntu ships the amr libraries but does not ship ffmpeg with those libraries.
in the link you gave me there's only a reference of a missing AMR patch to support it using runtime libraries. but I think that it can be statically compiled, as id used to be in Hardy...

Thomas Lunde (tlunde) wrote :

I installed Jaunty and started running through my multimedia files, knowing that I'd have to enable certain codecs to get them all to play. So far, so fine.

I have certain videos that were shot with a Nokia 6600 cell phone. Their extension is 3gp. These files played in previous versions of ubuntu (after adding appropriate codec support.) Now, when I try to play one, I get the "Search for a suitable plugin?" dialog. Choosing the Search button leads to a dialog which says:

Please select the packages for installation to provide the following plugins:
- Adaptive Multi Rate (AMR) decoder

After the search, it reports "No packages with the requested plugins found."

The video will then play silently.

I have these gstreamer plugins installed:
tlunde@blackbird:~$ dpkg -l |grep gstream
ii bluez-gstreamer 4.32-0ubuntu4 Bluetooth gstreamer support
ii gstreamer0.10-alsa 0.10.22-5 GStreamer plugin for ALSA
ii gstreamer0.10-ffmpeg FFmpeg plugin for GStreamer
ii gstreamer0.10-gnomevfs 0.10.22-5 GStreamer plugin for GnomeVFS
ii gstreamer0.10-plugins-bad 0.10.11-2ubuntu1 GStreamer plugins from the "bad" set
ii gstreamer0.10-plugins-base 0.10.22-5 GStreamer plugins from the "base" set
ii gstreamer0.10-plugins-base-apps 0.10.22-5 GStreamer helper programs from the "base" se
ii gstreamer0.10-plugins-good 0.10.14-1 GStreamer plugins from the "good" set
ii gstreamer0.10-plugins-ugly GStreamer plugins from the "ugly" set
ii gstreamer0.10-pulseaudio 0.10.14-1 GStreamer plugin for PulseAudio
ii gstreamer0.10-schroedinger 1.0.5-1 GStreamer plugin for encoding/decoding of Di
ii gstreamer0.10-tools 0.10.22-1 Tools for use with GStreamer
ii gstreamer0.10-x 0.10.22-5 GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-base0.10-0 0.10.22-5 GStreamer libraries from the "base" set
ii libgstreamer0.10-0 0.10.22-1 Core GStreamer libraries and elements
ii totem-gstreamer 2.26.1-0ubuntu5 A simple media player for the GNOME desktop

Again, I know that these files could be played in previous versions of ubuntu (after adding appropriate codec support.) How can I do this now?

I understand that this format has patent issues, and so the appropriate codec can't ship anywhere. Is it illegal to distribute a binary that will play this format from anywhere? If so, since source code may be distributed, can anyone point me at a mechanism/receipe for a source package that I can use that will not mess up anything else in 9.04?


Same goes to me ... not even .3gp files that i can't play but my .mp4 from my samsung omnia video also can't be play in jaunty.
Here i attach plugin package that i've installed

I have a way to have the 3gp audio decoder, which is called AMR codec.

follow these steps:
1) open the update manager settings
2) enable the source repositories
3) add the medibuntu repository:
deb http://packages.medibuntu.org/ jaunty free non-free #medibuntu
4) close the manager and reload the package list
5) install those packages, which will let you build .deb:
sudo apt-get install fakeroot dpkg-dev devscripts debhelper
build-essential bsd-mailx- postfix-
6) install the AMR codec and its developement packages:
sudo apt-get install libamrnb-dev libamrwb-dev
7) install the packages required to build ffmpeg:
sudo apt-get build-dep libavformat-unstripped-52
8) download the ffmpeg source and cd into the directory:
apt-get source libavformat-unstripped-52
cd ffmpeg*
9) enable the AMR codec in the configure script
echo "confflags += --enable-nonfree --enable-libamr-nb
--enable-libamr-wb" >> debian/confflags
10) increment the package version, so it does not get replaced during upgrades
dch -i "Added AMR support"
11) build the package:
DEB_BUILD_OPTIONS="--enable-externalcodecs" debuild -rfakeroot -uc -us -b
12) install the generated packages:
cd ..
sudo dpkg -i libavcodec*52_*.deb libavdevice*52_*.deb
libavfilter*0_*.deb libavformat*52_*.deb libavutil*49_*.deb
libpostproc*51_*.deb libswscale*0_*.deb
13) save the packages and delete everything else, because it will save
some space

let me know please if something does not work!

Download full text (4.0 KiB)

$ DEB_BUILD_OPTIONS="--enable-externalcodecs" debuild -rfakeroot -uc -us -b
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: warning: invalid flag in DEB_BUILD_OPTIONS: --enable-externalcodecs
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value: -Wl,-Bsymbolic-functions
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package ffmpeg
dpkg-buildpackage: source version 3:0.svn20090303-1ubuntu2+unstripped1ubuntu1
dpkg-buildpackage: source changed by fenris <email address hidden>
dpkg-buildpackage: host architecture i386
 fakeroot debian/rules clean
FLAVORS = shared cmov
DEB_BUILD_OPTIONS = --enable-externalcodecs ,internalencoders
internalencoders = internalencoders
rm -f build-stamp build-stamp-shared build-stamp-cmov \
     configure-stamp-shared configure-stamp-cmov patch-stamp
rm -rf debian-shared debian-cmov doxy
dh_clean config-extra-includes.h debian/tmp.debhelper.log
dh_clean formats.txt
QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null pop -a -R || test $? = 2
Removing patch 900_doxyfile
Restoring Doxyfile

Removing patch 005_release_branch_changes.diff
Restoring version.sh

No patches applied
rm -rf .pc debian/stamp-patched
 debian/rules build
FLAVORS = shared cmov
DEB_BUILD_OPTIONS = --enable-externalcodecs ,internalencoders
internalencoders = internalencoders
# quilt exits with 2 as return when there was nothing to do.
# That's not an error here (but it's useful to break loops in crude scripts)
QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null push -a || test $? = 2
Applying patch 005_release_branch_changes.diff
patching file version.sh

Applying patch 900_doxyfile
patching file Doxyfile

Now at patch 900_doxyfile
touch debian/stamp-patched
sh debian/fixup-config.sh > config-extra-includes.h
mkdir -p debian-shared
cd debian-shared && CFLAGS="" /home/fenris/application/ffmpeg/ffmpeg-0.svn20090303/configure --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --extra-version='svn17737+3:0.svn20090303-1ubuntu2+unstripped1ubuntu1' --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --disable-stripping --disable-vhook --enable-libxvid --enable-libmp3lame --enable-libfaac --enable-libx264 --enable-vdpau --enable-libdc1394 --enable-nonfree --enable-libamr-nb --enable-libamr-wb --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
ERROR: libx264 version must be >= 0.65.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
<email address hidden> mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.
make: *** [configure-stamp-shared] Error 1
dpkg-buildpackage: failure: debian/rules build gave error exit ...


Nicolò Chieffo (yelo3) wrote :

I don't know... maybe you can try to purge the old versions
sudo dpkg --purge libx264-54 libx264-57 libx264-59

the test ./configure does is:
require libx264 x264.h x264_encoder_open -lx264 -lm &&
                      { check_cpp_condition x264.h "X264_BUILD >= 65" ||
                        die "ERROR: libx264 version must be >= 0.65."; }

so look in your /usr/include/x264.h if you see the line:
#define X264_BUILD 65

if it's present simply overwrite the old check with this:
require libx264 x264.h x264_encoder_open -lx264 -lm

Mantas Kriaučiūnas (mantas) wrote :

AFAIK this bug is a duplicate if bug #110461 (Totem cannot play *.amr (AMR-NB) even when medibuntu libavcodec installed) or bug #93849
(Can't hear audio from 3GP video files: AMR audio support missing in ffmpeg).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers