Linux Video Playback: Difference between revisions

From BakaBT Wiki
Jump to navigation Jump to search
m (→‎Compiling MPlayer from source: Add some links, remove a comma)
No edit summary
Line 1: Line 1:
This article explains video playback options for Linux and provides installation instructions.
==Recommended Players==
 
==List of recommended players==
;* [http://www.mplayerhq.hu/ MPlayer]
;* [http://www.mplayerhq.hu/ MPlayer]
;* [http://smplayer.sourceforge.net/ SMPlayer]
;* [http://smplayer.sourceforge.net/ SMPlayer]
==MPlayer==
==MPlayer==
===Compiling MPlayer from source===
===Installation===
The preferred way of installing mplayer is compiling from source due to the fact that most Linux distros ship various levels of horribly outdated versions of it. The reasons for compiling from a new mplayer source are many:
* [http://en.wikipedia.org/wiki/VDPAU vdpau] support ([http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] decoding)
* better ff[http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC h264] asm (faster decoding)
* newer lib[http://en.wikipedia.org/wiki/SubStation_Alpha ass] (better subtitle rendering)
* no need for external Windows codecs for some files anymore
* various bug-fixes
 
The preferred source repository among actual users is uau's git for the following reasons
* It has ordered chapters support (which a lot of modern DVD/bluray rips use)
* It can be compiled with ffmpeg-mt (multithreaded decoding for multicore processors)
* It uses svn libass (even better subtitle rendering)
* It's easier to compile (Python scripts that set up your build environment)
* It includes various fixes for bad mplayer behavior
 
How to compile for various distros is coming soon, but cloning [http://repo.or.cz/w/mplayer-build.git this git repository] will get you started.
 
===Installing Mplayer from distro repos ===
Perform the one of the following commands as root, depending on your distribution.
Perform the one of the following commands as root, depending on your distribution.


====Debian based distributions (Includes Ubuntu)====
====Debian Based Distributions (Includes Ubuntu)====
  aptitude install mplayer
  aptitude install mplayer
For additional codecs:
For additional codecs:
1. Visit http://debian-multimedia.org/ and add it as a package repository using the instructions in the red boxes.<br/>
1. Visit http://debian-multimedia.org/ and add it as a package repository using the instructions in the red boxes.<br/>
2. sudo aptitude update && sudo aptitude install mplayer w32codecs
2. sudo aptitude update && sudo aptitude install mplayer w32codecs
=====Ubuntu PPA=====
=====Ubuntu PPA=====
Usually the version in Ubuntu default repos is pretty old, you might want to check [https://launchpad.net/ubuntu/+ppas PPA] for updated versions.
Usually the version in Ubuntu default repos is pretty old, you might want to check [https://launchpad.net/ubuntu/+ppas PPA] for updated versions.
Line 36: Line 18:
  zypper in mplayer
  zypper in mplayer


====Fedora/Red Hat based distributions====
====Fedora/Red Hat Based Distributions====
  yum install mplayer
  yum install mplayer


Line 46: Line 28:




===MPlayer codecs===
===Obscure Codecs===
Not all distributions include the full set of mplayer codecs in their repositories. To install the full set follow these easy steps.<br/>
Not all distributions include the full set of mplayer codecs in their repositories. To install the full set follow these easy steps.<br/>
1. Download: http://www4.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2<br/>
1. Download: http://www4.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2<br/>
Line 52: Line 34:
3. Copy the codecs (but not the directory) to the MPlayer codec directory. Default is /usr/lib/win32<br/>
3. Copy the codecs (but not the directory) to the MPlayer codec directory. Default is /usr/lib/win32<br/>


====NVidia vdpau====
====Nvidia GPU Acceleration====
If you use nvidia GPU, be sure to install their latest binary drivers, as they offer offloading video decoding from CPU to GPU which provides far smoother playback, especially for h264 video, while keeping CPU usage at vero low level. Check your mplayer configuration to use both vdpau video codec (-vc) and video output (-vo). Type "mplayer -vo help" to list available outputs.
If you use Nvidia GPU, be sure to install their latest binary drivers, as they offer offloading video decoding from CPU to GPU which provides far smoother playback, especially for h264 video, while keeping CPU usage at vero low level. Check your mplayer configuration to use both vdpau video codec (-vc) and video output (-vo). Type "mplayer -vo help" to list available outputs.
====ATI====
The upcoming (as of 2009.10.04) open source driver should provide hardware accelerated video decoding for R600+ based GPUs. This will happen probably sometime around linux 2.6.32 release.


===MPlayer tweaks===
====ATI GPU Acceleration====
The upcoming (as of 2009.10.04) open source driver should provide hardware accelerated video decoding for R600+ based GPUs. This will most likely happen around Linux Kernel 2.6.32 release.
 
===Tweaks===
This is a sample configuration file tailored for specific preferences. The MPlayer configuration file can be found at: <tt>~/.mplayer/config</tt>. All of the options are documented in the manpage and also [online http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html].
This is a sample configuration file tailored for specific preferences. The MPlayer configuration file can be found at: <tt>~/.mplayer/config</tt>. All of the options are documented in the manpage and also [online http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html].


Line 80: Line 63:
  quiet=1
  quiet=1


====MPlayer Tricks====
====Tricks====
MPLayer has a huge collection of filters included. Some of them are magical.
MPlayer has a huge collection of filters included. Some of them are magical.


* View styled subs, even if you only have plain subs:
* View styled subs, even if you only have plain subs:
Line 101: Line 84:
SMPlayer provides an easy-to-use QT interface to MPlayer. It contains a couple of nice features including saving the playback position so you can continue watching your video the next time you start it (this feature can be disabled of course).
SMPlayer provides an easy-to-use QT interface to MPlayer. It contains a couple of nice features including saving the playback position so you can continue watching your video the next time you start it (this feature can be disabled of course).


===Installing SMPlayer===
=== Installation ===
====Debian/Ubuntu====
====Debian Based Distributions (Includes Ubuntu)====
  sudo apt-get install smplayer
  sudo apt-get install smplayer
You can also:
You can also:
Line 118: Line 101:
  emerge -ptva smplayer
  emerge -ptva smplayer


====Building from Source (Compiling)====
===Tweaks===
<!-- can someone check this?  Also, perhaps we should go through the steps a little more, for beginners?  -->
Grab the tarball from [http://smplayer.sourceforge.net/downloads.php the SMPlayer download page].  Decompress it, cd into the directory, and run
./configure
make
sudo make install
If you don't have sudo installed/configured, then the last step will be instead
su
make install
 
===SMPlayer tweaks===
After installation you'll need to configure it a little:
After installation you'll need to configure it a little:
Start SMPlayer, open the options (Ctrl + P), go to the subtitles section, within the section go to the SSA/ASS library tab and check the check box for using SSA/ASS library.
Start SMPlayer, open the options (Ctrl + P), go to the subtitles section, within the section go to the SSA/ASS library tab and check the check box for using SSA/ASS library.


If you see a black screen at playing, the colors don't seem to be right, or playback is too slow, you may need to change the video rendering mode. To do this go to the Options > general section > general tab > output drivers > Video, and set it to <tt>x11</tt> -  this will use software rendering. Alternatively you can use <tt>xv</tt> for XVideo rendering or either <tt>gl</tt> or <tt>gl2</tt> for OpenGL rendering. In general you should try these options in the following order for best quality and performance: <tt>xv</tt>, <tt>gl2</tt>, <tt>gl</tt> and finally <tt>x11</tt>.
If you see a black screen at playing, the colors don't seem to be right, or playback is too slow, you may need to change the video rendering mode. To do this go to Options > Preferences > General (This is open by default) > Video > Output driver > <tt>x11</tt>. This will set it to use software rendering. Alternatively you can use <tt>xv</tt> for XVideo rendering (Best Performance) or <tt>gl</tt>/<tt>gl2</tt> for OpenGL rendering (Slow).

Revision as of 09:45, 30 November 2009

Recommended Players

MPlayer

Installation

Perform the one of the following commands as root, depending on your distribution.

Debian Based Distributions (Includes Ubuntu)

aptitude install mplayer

For additional codecs: 1. Visit http://debian-multimedia.org/ and add it as a package repository using the instructions in the red boxes.
2. sudo aptitude update && sudo aptitude install mplayer w32codecs

Ubuntu PPA

Usually the version in Ubuntu default repos is pretty old, you might want to check PPA for updated versions.

OpenSuse

zypper in mplayer

Fedora/Red Hat Based Distributions

yum install mplayer

Arch Linux

pacman -S mplayer

Gentoo

emerge -ptva mplayer


Obscure Codecs

Not all distributions include the full set of mplayer codecs in their repositories. To install the full set follow these easy steps.
1. Download: http://www4.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
2. Extract with: tar xvf all-20071007.tar.bz2
3. Copy the codecs (but not the directory) to the MPlayer codec directory. Default is /usr/lib/win32

Nvidia GPU Acceleration

If you use Nvidia GPU, be sure to install their latest binary drivers, as they offer offloading video decoding from CPU to GPU which provides far smoother playback, especially for h264 video, while keeping CPU usage at vero low level. Check your mplayer configuration to use both vdpau video codec (-vc) and video output (-vo). Type "mplayer -vo help" to list available outputs.

ATI GPU Acceleration

The upcoming (as of 2009.10.04) open source driver should provide hardware accelerated video decoding for R600+ based GPUs. This will most likely happen around Linux Kernel 2.6.32 release.

Tweaks

This is a sample configuration file tailored for specific preferences. The MPlayer configuration file can be found at: ~/.mplayer/config. All of the options are documented in the manpage and also [online http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html].

# If no GPU-specific video output driver is available, xv is the best choice,
# followed by x11 (which doesn't not do software zooming unless passed "-zoom" or "zoom=1")
vo=xv
ao=alsa
# 4 audio channels for surround sound files
channels=4
# Default audio and subtitle tracks. (Not all files use the correct tags,
# so sometimes it will be necessary to switch streams manually with '#' and 'j'
# or from the command line with "-aid x" and "-sid x")
alang=jp,jpn,
slang=en,eng,
# Find ASS subs and use the fonts provided in the file if possible
ass=1
embeddedfonts=1
fontconfig=1
# The highest level of subtitle anti-aliasing
spuaa=4
# Less stdout text
quiet=1

Tricks

MPlayer has a huge collection of filters included. Some of them are magical.

  • View styled subs, even if you only have plain subs:
    • mplayer -ass -embeddedfonts myvideo.ext
  • View external subs:
    • mplayer -ass -sub mysubs.srt myvideo.ext
  • Play interlaced video without combing:
    • mplayer -vf pullup myvideo.ext
  • Increase saturation and contrast:
    • mplayer -vf eq2=0.8 myvideo.ext
  • Remove "mosquito" noise:
    • mplayer -vf hqdn3d myvideo.ext
  • Make crappy video look good:
    • mplayer -vf pp7 myvideo.ext
  • Combine:
    • mplayer -ass -embeddedfonts -vf pullup,eq2=0.8,unsharp=l3x3:0.2,hqdn3d myvideo.ext

SMPlayer

SMPlayer provides an easy-to-use QT interface to MPlayer. It contains a couple of nice features including saving the playback position so you can continue watching your video the next time you start it (this feature can be disabled of course).

Installation

Debian Based Distributions (Includes Ubuntu)

sudo apt-get install smplayer

You can also:

  • Download the .deb file from the SMPlayer website or
  • Add the SMPlayer repository to your /etc/apt/sources.list.

8.04 (hardy):

deb http://ppa.launchpad.net/rvm/ubuntu hardy main

8.10 (intrepid):

deb http://ppa.launchpad.net/rvm/ubuntu intrepid main

Arch Linux

pacman -S smplayer

Gentoo

emerge -ptva smplayer

Tweaks

After installation you'll need to configure it a little: Start SMPlayer, open the options (Ctrl + P), go to the subtitles section, within the section go to the SSA/ASS library tab and check the check box for using SSA/ASS library.

If you see a black screen at playing, the colors don't seem to be right, or playback is too slow, you may need to change the video rendering mode. To do this go to Options > Preferences > General (This is open by default) > Video > Output driver > x11. This will set it to use software rendering. Alternatively you can use xv for XVideo rendering (Best Performance) or gl/gl2 for OpenGL rendering (Slow).