MPlayer

From OLPC
Revision as of 11:06, 28 January 2008 by Ace NoOne (talk | contribs) (various adjustments for clarification)
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.

Installation

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

  • 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] 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 - download it manually (wget or click) and again use rpm --nodeps -i
  • install MPlayer: # yum install mplayer - now it should work

This is not yet "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)

Further Steps

While you're here, you can also install VLC, the two both have their uses (for example, vlc -I skins2 *.mp3 gives a tiny floating window to play music).