MPlayer

From OLPC
Revision as of 10:22, 30 December 2007 by RafaelOrtiz (talk | contribs) (Reverted edits by 74.208.44.213 (Talk); changed back to last version by 68.0.226.163)
Jump to: navigation, 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