MPlayer

From OLPC
Revision as of 06:01, 29 December 2007 by 68.0.226.163 (talk) (more mplayer setup)
Jump to navigation Jump to search

It is possible to install Mplayer on the XO, without any recompiling. The process is still long and convoluted, and will load in a large group of dependencies. As always, MPlayer, or anything functional, may not respect the wacky patent laws of your jurisdiction; make things work at your own risk. This will require a live internet connection, and some quality time with the terminal activity. 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).

First start with installing the livna repository package, download it and install with "rpm -i".

Next, you can do a "yum update" or "yum upgrade", whichever gets the latest package list.

Now, try to "yum install mplayer". It won't work, but it will tell you what dependencies are missing.

libdvdnav-4 lives outside any known repository. Download (wget, click) it manually and again use "rpm -i".

Redo "yum install mplayer", and now it should work. It's not sugarified, but the sugar GUI still gets along with a placeholder icon in the running app ring.

Mplayer's default settings need a little modification..

In your ~/.mplayer/config put

#A little cache helps with slower flash drives
cache=1024

#the window manager will always give fullscreen, 
#but telling that to mplayer gives the right aspect ratio
fs=yes

And for your ~/.mplayer/input.conf you can put (modified from the /etc/mplayer example, the early KP* bindings are all that really matter)

##
## 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