MoviX Docs
by Roberto De Leo <peggish@users.sf.net>
Home
English  -  French  -  Portuguese  -  Spanish

Index

What is it?

MoviX is a mini Linux CD distribution containing all the software to boot from a CD and start a console menu from which you can play, thanks to the great MPlayer package (http://www.mplayerhq.hu/), most of the audio/video files out there, and if you are lucky also internet radios and TV :-)

It is basically the same thing as MoviX2, but it does not use X [so it is much smaller!] and the menu is written in Perl [so it is much easier to develope and customize!].
Moreover, it supports TV-out for ATI, Matrox, NVidia, Savage and Trident cards.

Supported formats are all formats supported by mplayer, most noticeably DivX and QuickTime but more in general any DVD, VCD, AudioCD, avi, mpeg, wmv, asf, fli and a few others.

BTW, MPlayer reads also mp3 & ogg/vorbis files, so you can also use it to play music!

MPlayer supports playlists so you can also use it to play in the order you want any number of audio/video files.

If you are interested you'll find a copy of the config files for mplayer and the linux kernel in the main dir of this package.

All relevant MoviX configuration files and scripts are in the src/movix folder from where will be automatically loaded in RAM at boot time, so if you want to make any change to them it is enough to change those files and make a new CD.
If you make some nice improvement please let me have a patch!

How is it done?

MoviX is all made from software already available on the net. Here is a list of the main packages I used:

  syslinux v2.00       <syslinux.zytor.com>
  mplayer v0.90        <www.mplayerhq.hu>  
  slackware v8.0       <www.slackware.com>  
  linux kernel v2.4.20 <www.kernel.org>
  Perl 5.8.0           <www.perl.org>
  Curses-UI 0.71       <maurice@gitaar.net>
  BusyBox 0.60.5       <www.busybox.net>
  ALSA 0.9.3           <www.alsa-project.org>

All I did is just put these pieces of software together :-)

From the Slackware CD, that uses SysLinux to boot, I extracted the ramdisk that I slightly modified getting rid of a lot of unneeded files and adding all possible audio modules for kernel v2.4.20 and of course the MPlayer.

The menu has been written all in Perl using the nice Curses::UI module made by Maurice Makaay.

Want to help?

There are literally tons of feature that may be added to this menu. I will never have time to add them all and in the future I will not have so much time to spend on this projet, so if you like it and want to help improving it just drop me an email!

Documentation

I strongly hope the few lines I wrote in the menu will be enough to make everybody able to use it succesfully. Hopefully someone eventually will improve the menu adding a help and the many features that can be introduced.

Requirements

--> Software:

The only thing you need to use MoviX is a software package to produce the bootable isoimage and one to burn the image on CD. On both Linux and M$ Window$ you can use mkisofs & cdrecord, that you can get from

ftp://ftp.berlios.de/pub/cdrecord/

Working copies of mkisofs.exe and cdrecord.exe are included in the file MoviX_Win32_Script.zip packaged by Christophe Paris and available for download in the usual MoviX download page

Window$ users may be interested in downloading the Win32 MoviX setup installer packaged by Clovis Sena (csena2k2@users.sf.net) that allow to build very easily MoviX ISO images to be burned later on CD with cdrecord, Nero or similar software.
There are also different Win32 setup packages recently built by Kangur, you can get them at

http://www.movixisocreator.prv.pl/

Of course it does not matter with which application you write the image on the CD, but you cannot make the iso image in the usual easy way because you want it to become bootable.

--> Hardware:

CPU
Only x86 compatible are supported, and only >= i586.

RAM
MoviX-0.8.0rc1 needs at least 64MB.

==> NOTE: in order to keep MoviX working with as few as 64MB a few features may be automatically disabled by the movix script, namely:

  1. Win32 codecs support
  2. Samba support
  3. Multiple MPlayer subtitles character sets

MICE
I could not manage make the mouse do anything good with Curses in a console :-( Hope to learn it soon.

CONTROLLERS
All IDE controllers are supported.
All SCSI controllers supported by kernel 2.4.20 are also supported.

VIDEO CARDS
It is not easy to say on which video cards eMoviX will work. Cards brand that are generally known to work are:

Matrox
Ati
NVidia
3Dfx
Intel
Sis
S3
Trident

but it is likely that the majority of video cards will work fine. There are good chances that DXR3/Hollywood+ cards now works, please let us have your feedback!

BTW, if you use the "aa" mplayer driver than MoviX should work no matter which card do you have. Ok, it is ASCII visualization but, what the hell, it works! :-)

If your video card works with MoviX please let me know so that I can start writing a database of cards known to work.

*KNOWN DXR3/H+ CARDS PROBLEM*
DXR33 modules (http://dxr3.sf.net/) are not yet able to autodetect the specific chipsets used in the card (apparently there are many different combinations) so it is likely that your card won't work with the standard settings. In this case go in the Edit->DXR3 menu and try different combinations of the parameters until your card is able to visualize anything. If nothing works drop me a note.

AUDIO CARDS
MoviX makes use of the ALSA sound drivers. A complete list of all supported cards with detailed info on each of them is available form the ALSA home page at

http://www.alsa-project.org/

In case your card has problems with ALSA, you can still try the old OSS modules using the "OSS=y" option at the boot [after a very nice patch by William Daniau].

If you have more than one card on your PC, you can choose the one you want with the "AUDIO=n" boot arg, where n=1,2,... [0 is the default value]. Unfortunately there is no way to know which number will be assigned to each card so you'll have to make experiments :-)

*KNOWN ISA AUDIO CARDS PROBLEM*
If you have an ISA card, it may fail to be automatically detected. In this case try first of all to use the "DETECT=all" boot argument to let the system try all possible audio modules available. If you are brave enough :-) , you can boot with the "AUDIO=n" boot arg (so that audio is not loaded at all) and try to load by hand the right driver with "modprobe".
If nothing works, drop me a note and cross your fingers :-)

ETHERNET CARDS
All cards supported by kernel 2.4.20 are supported.

REMOTES
Starting from v0.8.0pre1 MoviX supports remote controllers!!! Well, to be exact, for the moment it supports only one model: the remote bundled with the Hauppauge WinTV card (yes, it is the one I have at home ;-) It works great and I hope this will be only the first of a long series of supported models, but to do this I need a lot of support from you! If you are a lirc expert and are willing to help, please send me a note!

USB
Starting from v0.8.0pre3, all relevant USB devices supported by the 2.4.20 kernel should be used by the system if you specify the "USB=y" option at boot time. In particular, it should be possible to use USB speakers. If you try this new option pls let me know how/if it works!

Installation

--> ISO package

Usually a few days after a new version is out I upload a .zip file containing a ready-to-be-burned bootable MoviX ISO image, so if you are particularly lazy you can get that and skip the rest of this section **unless you want to make any change to the standard settings**

--> Win32 Setup

Thanks to Clovis Sena, all MoviX distros have now a Win32 installation file, so if you are a WinXX user you may use that file to create a customized ISO image and skip the rest of this section.
New win32 setup packages built by Kangur are available also on http://www.movixisocreator.prv.pl/

--> Custom setup for Win & Lin OS

If you are not familiar with the procedures to create a bootable CD, below you get step-by-step instructions for Linux & M$ Window$.

0. Let me assume your untarred MoviX package is in "/usr/local/movix-0.8.0rc1/";

  1. cd in the "/usr/local/movix-0.8.0rc1/" folder :-)
  2. There are a few packages you may want to download (I stopped including them in this package to make it as small as possible, but they are present in the ISO package).
     To "install" the packages, all you have to do is copying the archives in the
     src/mplayer/codecs directory. Do not unpack the files, just copy them the
     whole archive(s) you chose to use.

     Here is the list:
     
      - Win32 codecs
        http://www1.mplayerhq.hu/MPlayer/releases/codecs/win32codecs.tar.bz2
      - QuickTime6 DLLs
        http://www1.mplayerhq.hu/MPlayer/releases/codecs/qt6dlls.tar.bz2
      - RealPlayer9 codecs
        http://www1.mplayerhq.hu/MPlayer/releases/codecs/rp9codecs.tar.bz2
      - RealPlayer Win32 codecs
        http://www1.mplayerhq.hu/MPlayer/releases/codecs/rp9win32codecs.tar.bz2
      - XAnim DLLs 
        http://www1.mplayerhq.hu/MPlayer/releases/codecs/xanimdlls.tar.bz2   

  3. If you want to be able to play your DVDs, you probably need to include the
     libdvdcss library.

     DISCLAIMER: the libdvdcss library makes use of the DeCSS algorithm, that has been 
     declared illegal in some country (e.g. USA and Germany), so before adding it 
     I suggest you to make sure it is ok to use it in your country. I am in no way 
     responsible of what you put in your MoviX version.

     Because of the extremely unclear status of the legal matters about DeCSS I can't 
     even provide a link for those who legitimally can make use of it, but nevertheless
     all you should do is going in your favorite search engine, look for the package
     named libdvdcss-1.2.6-1.i386.rpm and copy that package in the src/movix dir.

  4. If you speak french or italian, you may replace all txt files of the src/isolinux
     directory with the corresponding files of the boot-messages/fr or boot-messages/it
     directories.

  5. If you know what you are doing, feel free to modify the configuration files in
     src/movix :-)

6. Create the .iso file running

sh mkmovixiso.sh

or

mkmvxiso.bat

     depending on the degree of Micro$oft-ness of your OS :-)
     The scripts output the iso image in /tmp/movix.iso or
     c:\temp\movix.iso respectively. 
     Edit the scripts if you want to change this setting.

  7. Write the iso image with any package you like. 
     E.g. with cdrecord you'd write something like:

     cdrecord dev=0,0 -v -eject /tmp/movix.iso

If everything went fine, the CD you produced should be a bootable CD and it will automatically boot and start the MoviX menu.

==> NOTE: if you are a window$ user, you probably want to use Christofe Paris scripts! Read above about how to get them.

Usage

--> Boot

Boot your PC from a MoviX CD.
You have several option for the boot:

BOOT LABELS

   MoviX       This is the default label and should be able to select 
               automatically the best mplayer options for you video card.
               It makes use of the vesa FB linux driver at 800x600.

   vesaFB1024  Same as MoviX but with a 1024x768 resolution. 
               Choose this if you think you are going to watch your videos
               in ASCII! :-)

   vesaFB640   Same as MoviX but with a 640x480 resolution. 
               Choose this if the previous two labels fail (most likely
               because you don't have much RAM on your video card).

   FB          This uses the Linux FrameBuffer driver specific for your 
               card (if any). It may be faster than the previous one
               but I have no card to check it with.

   vesa        This driver should work with most cards around but most 
               likely the MoviX menu will mess up soon and you'll have
               to reboot often. 
               Use it as a last resource.

   TV          Using this option, the code needed to activate your card 
               TV-out is automatically used by the setHardware.pl script.
               Supported cards are Ati, Matrox, NVidia, S3 Savage and Trident.
               Probably also Voodoo and other cards work but I do not know,
               so let me have some feedback!

To boot with a label different from the default one, just write the label at the boot prompt and press ENTER.

There are also a few boot parameters you can use:

BootArgs Values Effect

MOUNT n Do not let the movix script to mount your HD partitions.

    DMA         n       Do not try to activate DMA on CD drives. Use this if during
                        the boot process your CD seems to cause a mess of error messages.

    ACCEL     sw,no     Force MoviX to use sw or no rescaling. 

    DETECT     all      Use the old hw detection method, i.e. try all
                        possible modules until the right ones are found.
                        Use this if your audio card is not detected by the default method.

    OSS         y       Use OSS audio modules instead of the new ALSA
                        (use this if your audio card is not detected even with DETECT=all)

    AUDIO     1,2,..    If you have more than one card and get no audio from your speakers,
                        then probably MoviX choose the wrong one. Try using "AUDIO=1" to 
                        make it use your second card and so on.
                        Use "AUDIO=n" to skip audio autodetection so that you'll be able to
                        load modules by hand.

    DHCP        y       Try connecting to a DHCP server

    USB         n       Do not activate USB support

    IEEE1394    n       Do not activate IEEE1394 support

    KB          fr      Use french kbd layout

    REGION     <region> Either one of NTSC, NTSC-J, PAL, PAL-B,
                        PAL-M, PAL-NC, PAL-60, PAL-M60 or SECAM.
                        This is needed if you use the "TV" boot
                        label unless you have an Ati card.

    TVCARD      1,2,..  Specify your TV card type if autodetect fails

    TVTUNER     1,2,..  Specify your TV tuner type if autodetect fails
                        Check http://bt848x.sourceforge.net/config.en.html 
                        for a complete list of cards & tuners.

Example: use the default label, do not rescale the video and use the second audio card:

boot: MoviX ACCEL=no AUDIO=1

There are also two extra labels that can be useful too when you forget a MoviX CD in your drive:

hd - forget the CD and boot from the HD floppy - forget the CD and boot from the Floppy

Thanks a lot to Christophe Paris for this nice suggestion, I use it many times a day!

--> Configuration File

Starting from the pre6 version, it is possible to load/save from/to floppy a movix configuration file containing all possible parameters that you can set from the MoviX menu.

The name of this file is: movixrc
Writing it by hand is not trivial and it is highly discouraged. The best way to generate is using the "Edit->Save config" menu of MoviX: once you find your favorite configuration, save it on a floppy and either use the floppy every time to load the config file using the "Edit->Load config" menu or burn a new MoviX CD after putting the movixrc in the src/movix directory.
This way, the movixrc file will be automatically loaded at boot time by the movix scripts.

BEWARE: if you use such a "customized" MoviX CD in a different PC, remember to remove the movixrc using the "Edit->Remove config" menu or there will be an inconsistency between MoviX config data and the actual hw of the PC and therefore much likely MoviX won't be able to do anything.

--> MoviX Menu

If it starts, you can safely remove the MoviX CD and use the console menu to load&play any DVD/VCD/Audio CD/file you want.

Starting from this version, thanks to a very nice patch by Max Weninger, the DVD menu will automatically look for the movie track among the [usually many] DVD tracks and will at the same time fill the "DVD tracks" menu with a list of all tracks available. Hopefully this will become soon an easily usable console DVD interface! Until this interface is completed, be aware that to choose a DVD audio language you have to use the "-alang" MPlayer option, and to choose subtitles you have to use the "-slang" MPlayer option. For example, if you want to have english soundtrack and italian subtitles you have to add "-alang en -slang it" to the MPlayer options.

Starting from 0.8.0pre3 version, I added options in the Play menu to play whole CDs and partitions.
Using this options, the movix script will automatically search the drive or partition for audio/video files and will play them all as a playlist. Once the playlist starts, you can use the MPlayer menu [see below] to navigate through the audio/video files contained in the drive/partition.

--> MPlayer menu

The MPlayer binary contained in MoviX is compiled with support for the new neat "menu" feature of mplayer:
pressing "m" while mplayer is showing any video you should be able to access mplayer's native menu and navigate mplayer options directly from inside mplayer!

--> Consoles

There are 3 consoles active, you can choose which one to go pressing ALT-F<n>, where n can be 1, 2 or 3.

console 1 (default): is the one with the MoviX menu. When/if MoviX menu crashes, it is restarted automatically so you don't have anymore to launch the "movix" command. If you need a shell go to console 3.

console 2: here you find the alsamixer, in case the mplayer volume keys do not raise the volume enough or if you want to adjust bass/treble or other things.

console 3: here you'll find a shell in case you want to run anything [like nvtv].

--> Audio

If you find the volume too low even when mplayer's volume is at its maximum value, just change console with ALT-F2, set all volumes with alsamixer and go back to the original console with ALT-F1.

--> Playlists

You can play video/audio playlists with mplayer opening them through the Play->File menu.
The mplayer included in this version is able to use playlists with the following extensions: pls, m3u, asx, txt, list.

--> Net

If you want to listen to an internet radio you must first set the LAN parameters from the Entry->MoviX Options menu or pass the "DHCP=y" option at the boot [patch by William Daniau] if you have a DHCP server in your network.

After that you can either enter an URL through the Play->URL menu or use a playlist you load from a CD or a HD partition through the Play->File menu.
I included two examples called hardhouse56k.pls and hardtrance56k.pls [thanks to Richard Didd for these playlists!] in the movix dir of the MoviX CD.

--> Net volumes

You can also mount remote nfs or samba [e.g. windows partitions] volumes accessing to the mount menu from the Play->Net menu. After you mounted the volume, it should automagically appear in the partition list and that way you can play any audio/video file from it like if it was on your machine.

--> Subtitles character sets

Starting from this version, TrueType fonts are also supported! You can select/change the MPlayer character set from the Edit->MoviX menu. All sets contain the latin character set plus the specific langauge set.

--> Adding Subtitles character sets

To add a new character set to the MoviX ones, just add a new TrueType file (lower-cased!) or a MPlayer fonts dir under the src/mplayer/mplayer-fonts dir. The new set will be automatically added by the movix.pl script to the subs font list.
If you want to use it as default, just set it as default in the movixrc configuration file in the way explained above.

--> MoviX Menu fonts size

Starting from this version, you can select/change the MoviX menu font size from the Edit->MoviX menu.
This is particularly helpful when you use the TV-out, in which case you want to maximize the font size, or when you want to use the ASCII output, in which case you want to minimize the fonts size.

--> TV

TV support is still (very) alpha. In the future there should be a menu with all channels of any nation and so on, but have no time to write it now. It more or less works with my TV card but there are many things to fix. If you are interested please read the mplayer documentation and help us make improvements!

TV-out

TV-out should work fine on all Ati, Matrox, NVidia and S3 Savage video cards. EPIA MBs TV-out is also supported but no test has been made yet. It is likely that it will work also with other cards, like for example with the Voodoo cards, but I am not 100% sure about that.

If you manage to use the TV-out with other cards please let us know!!!

Ascii Art

MPlayer allows you also to watch a movie encoded in ASCII characters thanks to the nice AA-lib (http://aa-project.sourceforge.net/aalib/).

Unfortunately watching a movie using the "aa" driver messes up the screen so after watching a video you have to close the MoviX menu and restart it launching the "movix" command.

Supported Audio/Video formats

I am not at all an expert in this so I cannot be very precise about this. All I know is that you should be able to play most of the DivX files around and more in general any AVI, MPG file, QUICKTIME, ASF and WMV should be ok. About video files, all MP3 and OGG/VORBIS files should work.

If you have examples of such files not working with eMoviX please let me know.

Acknowledgments

I want to thank the great guys at www.scriptamanent.it for making the logo for the MoviX project.
I also want to thanks my friend Andrea Assorgia for all his encouragements and good advices about making MoviX and for actually having suggested the name of the project. Special thanks go to my brother Vincenzo that bought me a very fast CD burner speeding up a lot the development of this package!
Finally I want to thanks Robos for his interest in the project and for suggesting me the best way to develop this menu.