[Jaunty] AMR decodec not working

Bug #340408 reported by Nicolò Chieffo
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Medibuntu
New
Undecided
Unassigned
Ubuntu
New
Undecided
Unassigned

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:
amrnb
amrwb
libamrnb3
libamrwb3
w32codecs

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

Revision history for this message
Peter Meiser (meiser79) wrote :
Revision history for this message
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...

Revision history for this message
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 0.10.6.2-1ubuntu2 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 0.10.10.2-1build1 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
tlunde@blackbird:~$

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?

Thanks

Revision history for this message
Khairul Aizat Kamarudzzaman (fenris) wrote :

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

Revision history for this message
Nicolò Chieffo (yelo3) wrote : Re: [Bug 340408] Re: [Jaunty] AMR decodec not working

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!

Revision history for this message
Khairul Aizat Kamarudzzaman (fenris) wrote :
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
CFLAGS =
internalencoders = internalencoders
dh_testdir
dh_testroot
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
CFLAGS =
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
dh_testdir
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 ...

Read more...

Revision history for this message
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

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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