MPlayer

From OLPC
Revision as of 20:49, 23 November 2008 by Skierpage (talk | contribs) (link to Restricted formats, different RPM for link root, su -, Terminal Activity, etc.)
Jump to navigation Jump to 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. See Restricted formats.

Installation

This will require a live internet connection, and some quality time in the Terminal Activity.

  • become root: su -l
  • import the Livna public key: # rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
  • install the Livna repository package. There are different versions for Release notes/8.2.0 and earlier OLPC software releases (see What release am I running?):
    • # rpm -i http://rpm.livna.org/livna-release-9.rpm (for 8.2.0)
    • # rpm -i http://rpm.livna.org/livna-release-7.rpm (for earlier releases)
  • 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.1.1-3.fc7 lives outside any known repository - select a mirror and install the repository package: # rpm --nodeps -i [mirror URL]
    (e.g. (link broken) # 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