MPlayer

From OLPC
Revision as of 22:56, 18 June 2008 by Zmedico (talk | contribs) (Category:Video)
Jump to: navigation, search

It is possible to install MPlayer on the XO, without any recompiling. The process is relatively tedious, and will require loading in a large group of dependencies.

Note that MPlayer, or anything functional, may not respect the patent laws of your jurisdiction; make things work at your own risk.

Installation

This will require a live internet connection, and some quality time with the terminal activity.

  • import the Livna public key: # rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
  • install the Livna repository package: # rpm -i http://rpm.livna.org/livna-release-7.rpm
  • perform an update of the package database: # yum update
  • [optional / obsolete] if you try to install MPlayer: # yum install mplayer - it won't work, but it will list the missing dependencies
  • the required libdvdnav-4 lives outside any known repository - select a mirror and install the repository package: # rpm --nodeps -i [mirror URL]
    (e.g. # rpm --nodeps -i http://ftp.belnet.be/pub/mirror/Mandrakelinux/current/i586/media/main/backports/libdvdnav4-4.1.1-0.956.2mdv2008.0.i586.rpm)
  • install MPlayer: # yum install mplayer
  • [optional] install MPlayer GUI: # yum install mplayer-gui

The interface not "Sugar-ified", but the Sugar GUI will simply use a placeholder icon in the running app ring.

Configuration

MPlayer's default settings need a little modification. Modify or create the files as listed below:

 File: ~/.mplayer/config
# cache to help with slower flash drives
cache=1024

# fullscreen mode
fs=yes

Note: The window manager will always give fullscreen, but the MPlayer setting ensures using the right aspect ratio.

 File: ~/.mplayer/input.conf
##
## MPlayer input control file
##
## You are able to redefine default keyboard/joystick/mouse/LIRC bindings, or
## add new ones here.
## See DOCS/tech/slave.txt for possible commands that can be bound.
## Also see mplayer -input cmdlist for other possible options.
## The file should be placed in the $HOME/.mplayer directory.
##

RIGHT seek +10
KP6 seek +10
LEFT seek -10
KP4 seek -10
DOWN seek -60
KP2 seek -60
UP seek +60
KP8 seek +60
PGUP seek 600
PGDWN seek -600
KP3 pause
KP7 volume -1
KP9 volume +1
KP1 osd

m mute
# switch_audio          # switch audio streams
+ audio_delay 0.100
- audio_delay -0.100
[ speed_mult 0.9091	# scale playback speed
] speed_mult 1.1
{ speed_mult 0.5
} speed_mult 2.0
BS speed_set 1.0	# reset speed to normal
q quit
ESC quit
ENTER pt_step 1 1       # skip to next file
p pause
. frame_step            # advance one frame and pause
SPACE pause
HOME pt_up_step 1
END pt_up_step -1
> pt_step 1             # skip to next file
< pt_step -1            #         previous
INS alt_src_step 1
DEL alt_src_step -1
o osd
I osd_show_property_text "${filename}"     # display filename in osd
z sub_delay -0.1        # subtract 100 ms delay from subs
x sub_delay +0.1        # add
9 volume -1
/ volume -1
0 volume 1
* volume 1
1 contrast -1
2 contrast 1
3 brightness -1
4 brightness 1
5 hue -1
6 hue 1
7 saturation -1
8 saturation 1
( balance -0.1          # adjust audio balance in favor of left
) balance +0.1          #                                  right
d frame_drop
r sub_pos -1            # move subtitles up
t sub_pos +1            #                down
#? sub_step +1		# immediately display next subtitle
#? sub_step -1		#                     previous
#? sub_scale +0.1	# increase subtitle font size 
#? sub_scale -0.1	# decrease subtitle font size                  
f vo_fullscreen
T vo_ontop              # toggle video window ontop of other windows
w panscan -0.1          # zoom out with -panscan 0 -fs
e panscan +0.1          #      in
s screenshot            # take a png screenshot with -vf screenshot
					 # S will take a png screenshot of every frame

h tv_step_channel 1
l tv_step_channel -1
n tv_step_norm
b tv_step_chanlist

##
## GUI
##

#l gui_loadfile
#t gui_loadsubtitle
#a gui_about
#s gui_stop
#p gui_playlist
#r gui_preferences
#c gui_skinbrowser

##
## Joystick section
## WARNING: joystick support has to be explicitly enabled at
##          compiletime with --enable-joystick
##

JOY_RIGHT seek 10
JOY_LEFT seek -10
JOY_UP seek 60
JOY_DOWN seek -60
JOY_BTN0 pause
JOY_BTN1 osd
JOY_BTN2 volume 1
JOY_BTN3 volume -1

(modified version of the /etc/mplayer example - the early KP* bindings are all that really matter)

See Also