Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Other Community Discussions > Tutorials & Tips
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Tutorials & Tips
The place to find Ubuntu related Tips & Tricks.

 
Thread Tools Display Modes
Old October 29th, 2009   #1
andrew.46
I Ubuntu, Therefore, I Am
 
andrew.46's Avatar
 
Join Date: Dec 2006
Beans: 3,326
Ubuntu 9.10 Karmic Koala
Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Over the last few years I have written several guides for the installation of the development version of MPlayer under Ubuntu. This particular version of that long series of guides is intended to bring the benefits of the cutting edge svn MPlayer to users of Karmic Koala by concentrating on upgrading the mplayer-nogui package. I should mention at this time that the mplayer-nogui package from the Karmic Repository is an improvement over packages seen in previous versions of Ubuntu and if the information below looks a little too much you will still be reasonably well served by simply installing the repository package. This guide is perhaps for those who want a little more...

============================
Some requirements...
============================

There is a little preparation work required before we actually lay hands on the MPlayer application and this will probably take about 30 minutes and involve a download of about 100 megabytes of extra software. First then for some necessary software:

------------------------
Required tools:
------------------------

Some compiling will be required for this guide so we will be downloading some compiling sotware as well as software to access subversion and git repositories and finally the utility checkinstall which will be used to keep the installation within the Ubuntu package management system. Copy the following and paste into a Terminal window, exclude the '$' marks which among other things demonstrates a new line of commands in this guide:

Code:
$ sudo apt-get install build-essential gcc-4.3 g++-4.3 subversion checkinstall
Next to collect some development files:

---------------------------
Development files:
---------------------------

MPlayer works by automatically gathering functionality from various development files installed on your computer. The following list of files has been winnowed out from the standard sudo apt-get build-dep mplayer-nogui command in the interests of maintaining a cleaner system.

Special note concerning vdpau support: As of r29823 the svn MPlayer requires Version 190.32 (or later) of the NVidia drivers to enable vdpau output, which effectively renders the Karmic NVidia drivers and libvdpau package obsolete. To obtain vdpau output you will now need to obtain the latest drivers from NVidia and compile MPlayer against them, no extra options are needed as MPlayer will detect the drivers/libraries and enable vdpau support automagically.

Code:
$ sudo apt-get install ladspa-sdk libaa1-dev libasound2-dev libatk1.0-dev \
libaudio-dev libaudio2 libaudiofile-dev libavahi-client-dev libavahi-common-dev \
libcaca-dev libcairo2-dev libcdparanoia-dev libcelt0 libdbus-1-dev libdc1394-22 \
libdca-dev libdca0 libdirectfb-dev libdirectfb-extra libdts-dev libesd0-dev \
libexpat1-dev  libffado1 libfontconfig1-dev libfreebob0 libfreetype6-dev \
libfribidi-dev libgif-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev \
libgsm1 libgtk2.0-dev libice-dev libjack-dev libjack0 libjpeg62-dev liblzo2-2 \
liblzo2-dev libmail-sendmail-perl libncurses5-dev libogg-dev liboil0.3-dev \
libopenal-dev libopenal1 libpango1.0-dev libpixman-1-dev libpng12-dev \
libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libruby1.8 \
libschroedinger-dev libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev \
libspeex-dev libsvga1 libsvga1-dev libsys-hostname-long-perl libsysfs-dev \
libtheora-dev libvorbis-dev libvorbisidec-dev libvorbisidec1 libx11-dev libxau-dev \
libxcb-render-util0-dev libxcb-render0-dev libxcb1-dev libxcomposite-dev \
libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev \
libxi-dev libxinerama-dev libxml++2.6-2 libxrandr-dev libxrender-dev libxt-dev \
libxv-dev libxvidcore4 libxvidcore4-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev \
mesa-common-dev vstream-client-dev x11proto-composite-dev x11proto-core-dev \
x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev \
x11proto-randr-dev x11proto-render-dev x11proto-video-dev x11proto-xext-dev \
x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev \
zlib1g-dev libopencore-amrwb-dev libopencore-amrnb-dev libopenjpeg-dev
We will also add another useful packages here, a current set of Live555 libraries to enable playback of some streaming audio, although you have no interest in streaming audio simply omit this step, many streams will be processed natively by MPlayer anyway:

Code:
$ sudo apt-get remove liblivemedia-dev
$ cd $HOME
$ wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz
$ tar xvf live555-latest.tar.gz
$ cd live
$ ./genMakefiles linux
$ make
$ sudo cp -r $HOME/live /usr/lib
These libraries are in constant development so come back here from time to time to repeat the process and pick up the updated libraries.

Next however to install a codec package:

-------------
Codecs:
-------------

MPlayer has the ability to use and external library of codecs to playback some media files. Conveniently Medibuntu holds these files and I would suggest that you now read over the following page to understand the implications of utilising this repository which is not part of Ubuntu:

Medibuntu - Community Ubuntu Documentation
https://help.ubuntu.com/community/Medibuntu

The actual syntax to add the repository (taken directly from the page above) is as follows:

Code:
sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list \
 --output-document=/etc/apt/sources.list.d/medibuntu.list &&
sudo apt-get -q update &&
sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring &&
sudo apt-get -q update
Once the repository is in place users of a 32bit system will need to run the following:

Code:
$ sudo apt-get install w32codecs
while users of a 64bit system will need to run the following instead:

Code:
$ sudo apt-get install w64codecs
Now that all of this is done it is time to actually lay hands on the MPlayer files themselves:

==============================
Downloading & Compiling
==============================

The development version of MPlayer is held in a subversion repository that allows read access by users, which is to say that you can download files from the repository but not alter files in this repository. To download our copy of the MPlayer files the following commands are required:

Code:
$ cd $HOME
$ svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
Now to compile and install the source code, especially note the use of gcc-4.3 in this command. The MPlayer developers believe that there are a few issues compiling under gcc-4.4.1 which is the default under Karmic. If you wish to use gcc-4.4.1 anyway simply omit --cc=gcc-4.3 and cross your fingers while compiling:

Code:
$ cd $HOME/mplayer
$ ./configure --cc=gcc-4.3 --confdir=/etc/mplayer --disable-mencoder --disable-x264
$ make
$ sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/Desktop" \
   --pkgname mplayer-nogui --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \
   --pkgversion "3:1.0~svn-`grep "#define VERSION" version.h | cut -d"-" -f2`"
$ make distclean
It is best to now leave $HOME/mplayer undisturbed as you can return at a later date to run the command svn up to download the latest changes in the MPlayer source code, and then recompile. But now to complete the setup:

===========================
Completing the setup...
===========================

There are a couple of other small steps that I would recommend you attend to before launching your brand new copy of mplayer-nogui. The first step is to copy the user configuration file to the appropriate location. The following will accomplish that and also backup any existing configuration file:

Code:
$ mv -v $HOME/.mplayer/config $HOME/.mplayer/config_bak
$ cp -v $HOME/mplayer/etc/example.conf $HOME/.mplayer/config
Open the file $HOME/.mplayer/config in your favourite text editor and alter the settings as you see fit. In particular have a look at the settings for video out and audio out, on my own system these are vo=x11 and ao=pulse respectively. Next we will set MPlayer to play media from within Firefox by installing the gecko-mediaplayer. I also include instructions for the removal of the Totem plugin as on my system this prevents a few conflicts:

Code:
$ sudo apt-get remove totem-mozilla
$ sudo apt-get install gecko-mediaplayer
You would be best to add a good quality gui for the commandline MPlayer as well and the best of these is SMPlayer. (I should mention in passing that when you installed the gecko-mediaplayer you also installed another gui: GNOME Mediaplayer, well worth a look at as well.) To get the very best copy of SMPlayer add rvm's PPA as follows:

Code:
$ sudo add-apt-repository ppa:rvm/smplayer
and then install SMPlayer itself:

Code:
$ sudo apt-get update && sudo apt-get install smplayer
This completes the setup for this guide and I wish you all the best with your improved copy of Karmic Koala's mplayer-nogui!

===========================
Some Resources...
===========================
  • MPlayer-users MPlayer mailing list for usage questions, feature requests, bug reports. I would advise lurking for while on this list before posting, breaches of posting etiquette are dealt with harshly at times.
  • MPlayer - The Movie Player The html documentation for MPlayer. Usually kept up to date and well worth reading if problems arise and certainly will need to be read before requesting help on MPlayer-users.
  • MPlayer FAQs This page attempts to list all of the frequent questions from the #mplayer irc channel on irc.freenode.net.
  • Top 10 Tricks and Tips for the svn MPlayer A guide on the Ubuntu Forums that demonstrates some of the magic that can be accomplished with the commandline MPlayer. Written by the author of this guide.
  • MPlayer/MEncoder Tips and Tricks A very nicely done guide from the Debian world that is still for the most part relevant to Ubuntu, some great tips for both MPlayer and MEncoder.
Attached Images
File Type: png mplayer-nogui_gecko-mediaplayer.png (476.9 KB, 109 views)
File Type: png mplayer-nogui_amr.png (334.2 KB, 169 views)
File Type: png mplayer-nogui_smplayer.png (366.0 KB, 101 views)
__________________
Do you think that's air you're breathing?

Last edited by andrew.46; 1 Week Ago at 08:15 PM..
andrew.46 is offline   Reply With Quote
Old October 31st, 2009   #2
Joeb454
The Muffin Man Can
 
Joeb454's Avatar
 
Join Date: Aug 2007
Location: Leicester, UK
Beans: 8,108
Ubuntu 9.10 Karmic Koala
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Though I probably won't use it, this looks like a pretty comprehensive guide Thanks andrew.46
Joeb454 is offline   Reply With Quote
Old October 31st, 2009   #3
NTolerance
Quad Shot of Ubuntu
 
NTolerance's Avatar
 
Join Date: Apr 2005
Beans: 420
Ubuntu 9.04 Jaunty Jackalope
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

What are the benefits of the nogui version? A cursory look at the links you posted and a Google search doesn't give me much. I mainly use mplayer with MythTV.
NTolerance is offline   Reply With Quote
Old October 31st, 2009   #4
andrew.46
I Ubuntu, Therefore, I Am
 
andrew.46's Avatar
 
Join Date: Dec 2006
Beans: 3,326
Ubuntu 9.10 Karmic Koala
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Hi NTolerance,

Quote:
Originally Posted by NTolerance View Post
What are the benefits of the nogui version? A cursory look at the links you posted and a Google search doesn't give me much. I mainly use mplayer with MythTV.
'mplayer-nogui' is a Debian/Ubuntu repackaging of the original MPlayer source code and is the commandline MPlayer only. Other packages created from this source code are include a packaging called simply 'mplayer' which includes the gui gmplayer, another one for the encoder MEncoder and another for the html documentation. I am afraid that I am not familiar with MythTV so I cannot comment on whether it will be of use there. But the benefits of using the svn MPlayer for the mplayer-nogui package include:
  1. If kept up to date you can obtain support from the MPlayer developers
  2. Playback of amr sound is possible, as this guide compiles against the new libopencore-amr libraries.
  3. Playback of wmapro is possible using the native ffwmapro. This is a huge plus for 64bit users.
  4. Integrates beautifully with the gecko-mediaplayer package to give wide media coverage when browsing with Firefox.
  5. Integrates nicely with the best frontend available for MPlayer: SMPlayer.
  6. You can produce your own version of MPlayer shaped to it your needs.

Plus the benefits and perils of using up to date code that is for the most part updated each and every day. But for MythTV I am not sure of the actual benefits, perhaps another MythTV user could comment here?

All the best,

Andrew
__________________
Do you think that's air you're breathing?
andrew.46 is offline   Reply With Quote
Old October 31st, 2009   #5
fenian
Has an Ubuntu Drip
 
fenian's Avatar
 
Join Date: Apr 2006
Location: Minnesota
Beans: 746
Ubuntu 9.04 Jaunty Jackalope
Send a message via Yahoo to fenian
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

For Mythtv you would certainly want to build mplayer-nogui with the vdpau dev files if you have an Nvidia card series 8 or above.You probably would also want to make sure you have support for x264.
__________________
I used to be "with it," but then they changed what "it" was, and now what I'm "with" isn't "it" anymore, and what's "it" is weeeird and scary. It'll happen to you!
fenian is offline   Reply With Quote
Old October 31st, 2009   #6
andrew.46
I Ubuntu, Therefore, I Am
 
andrew.46's Avatar
 
Join Date: Dec 2006
Beans: 3,326
Ubuntu 9.10 Karmic Koala
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Hi fenian,

Quote:
Originally Posted by fenian View Post
For Mythtv you would certainly want to build mplayer-nogui with the vdpau dev files if you have an Nvidia card series 8 or above.You probably would also want to make sure you have support for x264.
Thanks for that . I have left out vdpau from the guide except to mention briefly that those fortunate enough to have such cards would benefit from the appropriate dev files which will then automagically be picked up by the MPlayer ./configure process.

Edit: I have finally bowed to a bit of pressure and added in nvidia-185-libvdpau-dev.

But h264 playback is well covered with the svn MPlayer with the native ffh264. x264 support is of course only required for encoding with MEncoder, which is not covered in this guide.

All the best,

Andrew
__________________
Do you think that's air you're breathing?

Last edited by andrew.46; November 1st, 2009 at 02:10 AM..
andrew.46 is offline   Reply With Quote
Old November 23rd, 2009   #7
zanadou
First Cup of Ubuntu
 
Join Date: Mar 2007
Location: Seoul, South Korea
Beans: 6
Ubuntu 9.10 Karmic Koala
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

This dosn't work for me:

Code:
$ sudo apt-get install ladspa-sdk libaa1-dev libasound2-dev libatk1.0-dev \
libaudio-dev libaudio2 libaudiofile-dev libavahi-client-dev libavahi-common-dev \
libcaca-dev libcairo2-dev libcdparanoia-dev libcelt0 libdbus-1-dev libdc1394-22 \
libdca-dev libdca0 libdirectfb-dev libdirectfb-extra libdts-dev libesd0-dev \
libexpat1-dev  libffado1 libfontconfig1-dev libfreebob0 libfreetype6-dev \
libfribidi-dev libgif-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev \
libgsm1 libgtk2.0-dev libice-dev libjack-dev libjack0 libjpeg62-dev liblzo2-2 \
liblzo2-dev libmail-sendmail-perl libncurses5-dev libogg-dev liboil0.3-dev \
libopenal-dev libopenal1 libpango1.0-dev libpixman-1-dev libpng12-dev \
libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libruby1.8 \
libschroedinger-dev libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev \
libspeex-dev libsvga1 libsvga1-dev libsys-hostname-long-perl libsysfs-dev \
libtheora-dev libvorbis-dev libvorbisidec-dev libvorbisidec1 libx11-dev libxau-dev \
libxcb-render-util0-dev libxcb-render0-dev libxcb1-dev libxcomposite-dev \
libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev \
libxi-dev libxinerama-dev libxml++2.6-2 libxrandr-dev libxrender-dev libxt-dev \
libxv-dev libxvidcore4 libxvidcore4-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev \
mesa-common-dev vstream-client-dev x11proto-composite-dev x11proto-core-dev \
x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev \
x11proto-randr-dev x11proto-render-dev x11proto-video-dev x11proto-xext-dev \
x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev \
zlib1g-dev libopencore-amrwb-dev libopencore-amrnb-dev
It just outputs:
Code:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  libgl1-mesa-dev: Depends: libgl1-mesa-glx (= 7.6.0-1ubuntu4) but 7.6.1~git20091107.9348ac03-0ubuntu0~xup~1 is to be installed
  libglu1-mesa-dev: Depends: libglu1-mesa (= 7.6.0-1ubuntu4) but 7.6.1~git20091107.9348ac03-0ubuntu0~xup~1 is to be installed
E: Broken packages
How can I get around this? I'm running x64, btw.
zanadou is offline   Reply With Quote
Old November 23rd, 2009   #8
Arup
Fresh Brewed Ubuntu
 
Join Date: Jan 2007
My beans are hidden!
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Quote:
Originally Posted by zanadou View Post
This dosn't work for me:

Code:
$ sudo apt-get install ladspa-sdk libaa1-dev libasound2-dev libatk1.0-dev \
libaudio-dev libaudio2 libaudiofile-dev libavahi-client-dev libavahi-common-dev \
libcaca-dev libcairo2-dev libcdparanoia-dev libcelt0 libdbus-1-dev libdc1394-22 \
libdca-dev libdca0 libdirectfb-dev libdirectfb-extra libdts-dev libesd0-dev \
libexpat1-dev  libffado1 libfontconfig1-dev libfreebob0 libfreetype6-dev \
libfribidi-dev libgif-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev \
libgsm1 libgtk2.0-dev libice-dev libjack-dev libjack0 libjpeg62-dev liblzo2-2 \
liblzo2-dev libmail-sendmail-perl libncurses5-dev libogg-dev liboil0.3-dev \
libopenal-dev libopenal1 libpango1.0-dev libpixman-1-dev libpng12-dev \
libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libruby1.8 \
libschroedinger-dev libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev \
libspeex-dev libsvga1 libsvga1-dev libsys-hostname-long-perl libsysfs-dev \
libtheora-dev libvorbis-dev libvorbisidec-dev libvorbisidec1 libx11-dev libxau-dev \
libxcb-render-util0-dev libxcb-render0-dev libxcb1-dev libxcomposite-dev \
libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev \
libxi-dev libxinerama-dev libxml++2.6-2 libxrandr-dev libxrender-dev libxt-dev \
libxv-dev libxvidcore4 libxvidcore4-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev \
mesa-common-dev vstream-client-dev x11proto-composite-dev x11proto-core-dev \
x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev \
x11proto-randr-dev x11proto-render-dev x11proto-video-dev x11proto-xext-dev \
x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev \
zlib1g-dev libopencore-amrwb-dev libopencore-amrnb-dev
It just outputs:
Code:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  libgl1-mesa-dev: Depends: libgl1-mesa-glx (= 7.6.0-1ubuntu4) but 7.6.1~git20091107.9348ac03-0ubuntu0~xup~1 is to be installed
  libglu1-mesa-dev: Depends: libglu1-mesa (= 7.6.0-1ubuntu4) but 7.6.1~git20091107.9348ac03-0ubuntu0~xup~1 is to be installed
E: Broken packages
How can I get around this? I'm running x64, btw.
Enable medibuntu repos and check all the repos in synaptic.
Arup is offline   Reply With Quote
Old November 23rd, 2009   #9
zanadou
First Cup of Ubuntu
 
Join Date: Mar 2007
Location: Seoul, South Korea
Beans: 6
Ubuntu 9.10 Karmic Koala
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Quote:
Originally Posted by Arup View Post
Enable medibuntu repos and check all the repos in synaptic.
Hmm, I have "deb http://packages.medibuntu.org/ karmic free non-free" in my sources.list, I've updated and it still gives the same error. From Synaptic, when I go to install "libgl1-mesa-dev", it gives me a similar error:
Code:
libgl1-mesa-dev:
  Depends: libgl1-mesa-glx (=7.6.0-1ubuntu4) but 7.6.1~git20091107.9348ac03-0ubuntu0~xup~1 is to be installed
Why the hell is it talking about a git version??
zanadou is offline   Reply With Quote
Old November 23rd, 2009   #10
mc4man
Fresh Ground Ubuntu
 
Join Date: Jun 2007
Beans: 4,661
Re: Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package

Quote:
Why the hell is it talking about a git version??
You apparently have updated those libs past the karmic versions, most likely thru a ppa and then removed/disabled the source.

(and not that long ago, look at the date

Your best bet, considering the libs involved, is to re-enable the source, update and then proceed.

This seems like a possible ppa where you may have got the updated mesa libs

https://launchpad.net/~ubuntu-x-swat...ates/+packages
mc4man is offline   Reply With Quote

Bookmarks

Tags
amr, live555, mplayer, svn, vdpau

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:50 AM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. bilberry