Contents
Basic Configuration
You should tell freevo where to look for movie files This is a list of items (e.g. directories, fxd files). The items themselves can also be a list of (title, file)
VIDEO_ITEMS = [ ('action movies', '/files/movies/action'), ('funny stuff', '/files/movies/comedy') ]
Some people access movies on a different machine using an automounter. To avoid timeouts, you can specify the machine name in the directory to check if the machine is alive first Directory myserver:/files/server-stuff will show the item for the directory /files/server-stuff if the computer myserver is alive.
You can use mplayer or xine for watching movies. The default player is mplayer, but you can change that with the variable VIDEO_PREFERED_PLAYER = 'xine' in your local config. If you want support for DVD menus you will have to use xine. Also you will probably need to install libdvdcss, this is left to the user to figure out.
You can choose which player will play which files. The list of filename suffixes that are used to match the files that are played with MPlayer.
VIDEO_MPLAYER_SUFFIX = [ 'avi', 'mpg', 'mpeg', 'wmv', 'bin', 'rm', 'divx', 'ogm', 'vob', 'asf', 'm2v', 'm2p', 'mp4', 'viv', 'nuv', 'mov', 'iso', 'nsv', 'mkv' ]
The list of filename suffixes that are used to match the files that are played with Xine.
VIDEO_XINE_SUFFIX = [ 'avi', 'mpg', 'mpeg', 'rm', 'divx', 'ogm', 'asf', 'm2v', 'm2p', 'mp4', 'mov', 'cue' ]
Streaming web tv / video
Using fxd files you can configure freevo to stream video from the web just like it streams web radio. You'll need to create a fxd file and add this to your VIDEO_ITEMS in local_conf.py
Here's an example:
VIDEO_ITEMS = [ ('Speelfilms', '/home/freevo/media/films/'), ('Muziek', '/home/freevo/media/video/muziek_video/'), '/home/freevo/.freevo/webtv.fxd' ]
So in this case you would have a file /home/freevo/.freevo/webtv.fxd that looks like this:
<?xml version="1.0" ?> <freevo> <container title="Internet TV" type="news"> <movie title="Laatste Journaal"> <video> <url id="p1"> mms://streams10.omroep.nl/tv/nos/journaal/bb.laatste.asf <player>mplayer</player> </url> </video> <info> <description>Altijd het laatste NOS journaal.</description> </info> </movie> <movie title="NASA-TV"> <video> <url id="p1"> http://science.ksc.nasa.gov/cgi-bin/rrg2.pl?encoder/nasatv.rm <player>xine</player> </url> </video> <info> <description>Follow every step of NASA with NASA TV LIVE</description> </info> </movie> </container> </freevo>
Another neat example of this is to stream a movie playing on your PC with Xine/Kaffeine's broadcast feature. As URL in the above XML file use slave://host:port to point to the PC doing the broadcasting.
Freevo will stream anything that mplayer or xine are capable of streaming.
Mplayer configuration
Fast explanation.
In fact, to play a simple avi you only should write "mplayer MOVIE.AVI" but mplayer has a lot of advanced options that could be useful.
This command will show you the video outputs mplayer has compiled, I've understand that the best is xv or xvmc because is faster than the others, but it depends on your Video Device.
mplayer -vo help
This command will show you the audio outputs mplayer has compiled.
mplayer -ao help
Example:
mplayer MOVIE.avi -vo xv -ao alsa
alsa:device=hw=X.X where X.X is the card and the hardware device (default 0.0 if you have 1 card or 1.0 if you want to play with second card) alsa:device=surround51
(Incomplete)
Other:
-aspect 4/3, gives you a resolution 4:3.
(Incomplete)
Example:
mplayer MOVIE.avi -vo xvmc -ao alsa:device=hw=1.0 -aspect 4/3
Mplayer Freevo usage
I will explain the options that are not set automatically but existing.
MPLAYER_ARGS_DEF = ''
That line will allow you to set for example the -aspect4/3 option. (I have a WideScreen and I have to set '-aspect 4/3 -fs' to see the movie "undeformed" and play on the whole scren without black borders.)
(Incomplete)
PleaseUpdate: (describe the important mplayer options here) Try to update and improve that short explanation.
Post-Processing Effects
Post-processing effects are always a good way to make your videos and tv look better than they are. To deinterlace videos the best looking option is:
-vf pp=ci
To perform (vertical and horizontal) deblocking (handy for over-compressed videos and even just making good looking videos look smoother):
-vf pp=vb:autoq/hb:autoq
You can chain post-processing effects together by concatonating them with a '/' like the deblocking example above - e.g. to do deinterlacing and deblocking:
-vf pp=ci/vb:autoq/hb:autoq
AV-Sync problems with AVI files
Some avi files are out of sync when played with mplayer but ok with other player. This is a problem with mplayer not reading the audio delay field in such files. Mmpython can parse this data and Freevo can correct the audio delay based on the Mmpython information. To activate this, set MPLAYER_SET_AUDIO_DELAY = 1 in your local_conf.py.
Mixing the LFE Channel into the front speakers for 4.1 audio output
If you have a Soundcard like the SBLive Value Edition which has 2 stereo output (front and rear) it happens that you only get 4.0 output from mplayer. The LFE channel is lost. This can be fixed by changing the MPLAYER_AO_DEV option in your local_config.py:
MPLAYER_AO_DEV = 'alsa1x:surround51 -channels 6 -af pan=6:100:0:0:0:100:100:0:100:0:0:100:100:0:0:100:0:0:0:0:0:0:100:0:0 '
("alsa1x" is deprecated, now you sould use "alsa:device=surround51")
The pan filter mixes the LFE channel to the front speaker output.
Xine configuration
Freevo as default adds some extra setting to xine:
--no-lirc --post=pp:quality=10;expand
This might cause xine to use more CPU (goes from around 30% to 70% on my system). But if you edit your local_conf.py, and add the following, Freevo will launch xine without any extra settings:
XINE_ARGS_DEF = ''
If you want to expriment with the image quality, and have some spare cpu power ,look at this thread and add the settings to your local_conf.py as follows:
XINE_ARGS_DEF = '--post tvtime:method=LineDoubler,enabled=1,pulldown=none,framerate_mode=half_top,judder_correction=0,use_progressive_frame_flag=1,chroma_filter=0,cheap_mode=1'