eMoviX is a tiny Linux CD distribution containing all the software to boot
from a CD and play automatically every video file localized in the CD root.
Supported formats are all formats supported by MPlayer, most noticeably
DivX & XviD but more in general most AVI, MPEG, QuickTime, WMV, ASF, FLI and
a few others.
If you put a subtitles file in the same position with the same name (e.g. movie.avi and movie.sub) then the subtitles will be automatically displayed.
In other words, if you put your video file(s) and eMoviX in the same CD then you will have inside the CD not only the movie but also all the software needed to boot the PC and play the movie, so that you'll be able to play the movie in every PC even when no OS (or the wrong one :-) is installed (at least as long as that PC hardware is supported by Linux).
Of course you will still able to read the CD and play the movie from any other OS, so the only thing you are going to lose are the ~8Mb that the eMoviX is going to occupy on the CD.
eMoviX is all made from software already available on the net:
syslinux v2.00 <syslinux.zytor.com> to make the CD bootable; mplayer v0.90 <www.mplayerhq.hu> to play the movies; alsa 0.9.1 <www.alsa-project.org> as audio cards drivers; slackware v8.0 <www.slackware.com> to make a mini distro; linux kernel v2.4.20 <www.kernel.org> to make everything work :-)
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 package. A perl script (/usr/local/bin/movix.pl) is executed immediately after the boot to check all possible audio modules and after that the videos playback is started.
Up to now I did not have much time to write any doc about all this, so this file contains almost all the documentation available. Hopefull will find time in the future. A little info/docs are available at the boot prompt on every CD produced with eMoviX.
The only thing you need to use eMoviX 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
Working copies of mkisofs.exe and cdrecord.exe for WinXX users are included in the file MoviX_Win32_Script.zip packaged by Christophe Paris and available for download in the usual MoviX download page
The file contain also useful .bat files written by Christophe that should make a lot easier using mkisofs and cdrecord to M$ users. Many thanks to Christophe for making available these files!
IMPORTANT NOTICE FOR WINDOWS USERS
There are two new packages that allow window$ users to create eMoviX images through a user-friendly GUI:
Only x86 compatible are supported, and only >= i586.
According to my tests all eMoviX features work with 36MB of RAM. Some feature [e.g. mpeg playback] works even with just 32MB but mileage can vary according to your HW and the type of file contained in the CD.
You need no mouse with eMoviX.
All IDE and SCSI controllers supported by kernel 2.4.20 are supported. Please write me an email if your controller seems not to work with eMoviX.
It is not easy to say on which video cards eMoviX will work. Cards brand that are generally known to work are:
but it is likely that the majority of video cards will work fine. I plan to publish soon on the movix web site a more detailed video cards database, so if your video card is not on my list and works with eMoviX please let me know and I will add it to the list of cards known to work. Same if it does not!
BTW, if you use the "aa" label than eMoviX will work no matter which card do you have. Ok, it is ASCII visualization but, what the hell, it works! :-)
VIDEO CARDS WITH TV-OUT
eMoviX has support for using the TV-out feature of at least some Matrox, ATI, S3 Savage, NVidia and SiS video cards.
eMoviX 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
Net is not supported by eMoviX.
eMoviX fully supports the Hauppauge TV remotes. Starting from v0.8.0rc2 it adds support also for SONY remotes and Pinnacle serial remotes.
If you are interested in supporting more remotes post a message in the movix forums.
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/XviD files around and more in general most AVI, MPG file, QuickTime, ASF and WMV should be ok. About video files, all MP3 and OGG/VORBIS files should play fine.
If you have examples of such files not working with eMoviX please let me know.
Starting from (pre-)release 0.6pre2 the installation of the package happens through the autoconf mechanism, so installing eMoviX is as easy as untarring the tarball, cd-ing in the newly created directory and writing the standard commands
./configure make make install
By default the binaries "mkmovixiso", "movix-conf" and "movix-version" will be installed in
and all eMoviX data files will be copied in
If all this does not make any sense to you or if you rather prefer making the iso image by hand, just forget what you've just read and read below.
If you are not a CLI lover, there are two GUIs for you:
MoviXMaker (http://savannah.nongnu.org/projects/movixmaker/) is a simple Perl GTK+/Gnome/GladeXML interface created by Pascal Giard <firstname.lastname@example.org> that helps you make, very easily, customized eMoviX/MoviX/MoviX2 disc images.
K3b (http://www.k3b.org/) is a very nice KDE GUI for burning CDs with Drag'n'Drop capabilities and much more. Thanks to many users requests, its mantainer Sebastian Trueg decided to support the eMoviX format! This means that if you install K3b you'll be able to produce eMoviX CDs simply choosing to open a new "eMoviX Project" :-)
You can safely ignore next 3 sections unless you are a 'die-hard' CLI lover like me ;-)
DISCLAIMER FOR WINDOWS USERS: as already pointed out above, there are two win32 GUIs for producing eMoviX ISO images, namely:
If you like the command line, you can use the Christophe Paris package MoviX_Win32_Script.zip, available for download in the usual MoviX download page, and follow the "Old style" instructions below, or install cygwin (http://cygwin.redhat.com/) and follow the "New style" instructions.
To make as easy as possible the creation of the bootable iso image, the perl script "mkmovixiso" is provided together with the package. The typical thing you have to type to produce an iso image containing the files "file1" and "file2" and all files in the directory "dir" is something like
mkmovixiso -t "My title" -o /tmp/movix.iso file1 file2 dir
Keep in mind that you may want to add also some playlist to the CD, in case you have more than one file and you want them played in some particular order. For more info read carefully the "Playlists" section below.
To know more about mkmovixiso options try "mkmovixiso -h".
If you use always the same output file or same language or like to add
always the same extra options, you can avoid writing them explicitly
every time you run mkmovixiso creating a .mkmovixisorc file in your home dir.
Here is an example
[WARNING: these are more or less random setting, use your own ones!!!]:
# <--------- .mkmovixisorc sample
# my .mkmovixisorc file
# all lines starting by # are comments!
# default output file location
# default boot label
# default font set
# extra options for mkisofs
### Options to be passed to MPlayer
# extra options for mplayer
extra-mplayer-options=-double -aspect 4:3
# options you want to be sure won't be used by mplayer unwanted-mplayer-options=-fs -zoom
# repeat the playback 5 times [0 = repeat for ever] loop=5
# do not enforce DMA usage
#[use it only if your system hangs during the boot] dma=n
# play all files in random order
# reboot after playback is over
# turn off the PC after playback is over # shut=y
# eject after playback is over
# delete temporary directory
# ---------> end of .mkmovixisorc sample No other options are available till now for the .movixrc
If you like better the good old way do something similar to this:
0. make somewhere, e.g. inside the "utils" folder", a new directory,
say you call it "movix";
Please let me know if you find any mistake in this algorithm :-)
Window$ users hating mkisofs can still produce bootable eMoviX CDs with the following method introduced to me by the very inventive Hakan Atac:
0. download the eMoviX bootable floppy image;
Thanks a lot to Hakan Atac for providing this nice way to build bootable CDs with Nero!
To learn how to add sessions to an eMoviX CD you can read the docs on
in sections 5-7.
WARNING: making an eMoviX multisession CD with Nero is tricky because Nero is not aware of the Rock-Ridge CD format, so please read the sections above.
NOTE: a user suggested using Winimage to add files to a bootable ISO file under WinXX. I had no time to test this, so if you try it please let me know if it works!
Once you have your iso image you can burn it over a CD with something like
cdrecord dev=0,0 -v -eject /tmp/movix.iso
or just use Nero or any package able to burn iso images on CDs.
Leave the newly created CD in the CD-ROM drive and reboot your PC: if everything went fine your PC will boot from the CD and after a few seconds the mplayer copy contained in eMoviX will start playing all of your files.
There are a lot of video cards out there and a lot of mplayer video drivers and not necessarily all of their combinations work well together.
The movix.pl script tries to determine automatically the best options for you, so that you don't need in general to enter anything at the boot prompt.
But in case you are not satisfied with the playback video quality there are a few extra boot labels you can try to force eMoviX to use a particular driver:
MoviX - The default label causes the movix script to choose (default) automagically the best mplayer driver for your card. sdl - Very good subtitles rendering but not the best video quality. vesa - The "vesa" driver should work for most cards. vesaFB - Use the generic vesa FrameBuffer driver (800x600). vesaFB640, vesaFB800, vesaFB1024, vesaFB1280, vesaFB1400 - vesaFB labels for the following resolutions: 640x480 800x600 1024x768 1280x1024 1400x1050 FB - Use the specific FB driver for yr card (if any). aa - Watch your videos in ASCII format! :-) aa1024 - Watch your videos in ASCII format at a 1024x768 resolution. aa1280 - Watch your videos in ASCII format at a 1280x1024 resolution. (these last two requires a CPU >= 1GHz) TV - Initialize the applications [if any] needed to activate the TV-out of your card.
There are also two extra labels that can be useful too when you forget an eMoviX 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!
You can also provide at boot time a few options that will be automagically passed to the movix.pl script to modify its behaviour:
Boot Args Values Effect
SLOW y,n By default movix slows down your CD-ROM drives to decrease their noise, but sometimes this messes them up. If your CD drive seems to behave in some strange way try using this option. ACCEL sw,no Force software or no rescaling. If your playback appears to be very slow you can try "ACCEL=no" to make it smoother [but your movie won't be rescaled to fullscreen!]. VO_DRIVER <driver> Force vo driver (read mplayer DOCS first!). MP_OPTIONS <opts> Add mplayer options (same as above!). LIST <list> Use "list" as default playlist. DMA y,n Use "DMA=n" if your system hangs at boot time trying to access your CD drive. SHUT y,n Power off PC after playing all CD files. This is especially useful if you are likely to fall asleep before the end of the playback :-) REBOOT y,n Reboot PC after playing all CD files. LOOP <N> Loops playback n times. Setting "LOOP=0" let mplayer playing your files for ever. RANDOM y,n Play all the CD files in random order. REGION <region> Either one of NTSC, NTSC-J, PAL, PAL-B, PAL-M, PAL-NC, PAL-60, PAL-M60 or SECAM. For your TV-Out to work properly, your video card needs to know what mode uses your TV (ATI cards don't need this). AUDIO <N> Audio card selection (if you have more than one) 0 for the "first" card, 1 for the "second" etc. The order in which the audio cards are detected by eMoviX is somewhat arbitrary, so you might need to try 0 and 1. SCSI <module> Force eMoviX to load the SCSI module.o module (e.g. "SCSI=tmscsim")
Example: if you like the standard boot label but you want to play your "sleepy.asx" playlist and you want your PC to shut down after the playlist's end (probably because you shut down way before that) and you don't want to slow down your CD-ROM because you like that buzzing background, then you should use the folowing boot string:
boot: MoviX LIST=sleepy.asx SLOW=n SHUT=y
To play these kinds of files files MPlayer needs a few special DLL. They are not included in the eMoviX package to keep it slim, so you have to download them by yourself at the following addresses:
To make eMoviX able to play these kind of files follow the following instructions:
WARNING ABOUT QUICKTIME FILES: for a MPlayer bug, mplayer will crash when trying to play its second QuickTime file, so till this bug will be fixed it does not make much sense adding more than one QuickTime file to an eMoviX CD.
You can easily use the new MPlayer "menu" feature to "navigate" through your videos selection and/or to change playlist! Just wait for mplayer to start and press the key "m" to activate the menu.
The list of the other active keys for the mplayer is available on the
The list of the most important keys is also available on every eMoviX CD when the splash-page logo appears.
After eMoviX finished playing the CD content you can play any other eMoviX CD just putting the new CD inside and running the command "movix" at the prompt.
If you want to do this then you are looking for MoviX, not eMoviX! Still, thanks to Balazs Barany, eMoviX now features a limited support to play CD/DVD/VCD/AudioCD/MP3CD media: after watching your eMoviX CD you can put any CD/DVD/VCD/AudioCD/MP3CD in one of your CD/DVD drives and use one of to following commands to play it:
movix (to play a CD with audio/video files inside) dvd N (where N is usually 1 or 2) dvd (automatically plays the longest DVD track) vcd N (where N is usually 1 or 2) acd mcd
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.
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. 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 your $prefix/share/emovix/movix directory (or in src/movix if you are building eMoviX CDs without using the mkmovixiso script).
Once the library is in you eMovX installation, remember to add "-css" to the mkmovixiso options for all eMoviX CDs that you want to make able to read encrypted DVDs.
To get a much more powerful interface to MPlayer go back at the MoviX web site and download the last MoviX or MoviX2 version!
If the audio is too low or absent even after maximizing it from mplayer
then you can try the following:
stop the movie, change console with ALT-F2, change the volume with alsamixer, go back to the original console with ALT-F1 and start back the playback with the "movix" command. Note: you cannot do this while the movie is playing!
Since version 0.6 eMoviX supports playlists! The supported formats are: .asx .m3u .pls .txt .list
E.g. if you have a file "My Video.avi" and "My Audio.mp3" you may write the following lists:
that will look like:
<asx version = "3.0">
<ref href = "/cdrom/My Video.avi"/> </entry>
<ref href = "/cdrom/My Audio.mp3"/> </entry>
2. movix.list or movix.txt
that will look like:
Don't know much about pls or m3u formats but I know that they work, at least in some case :-)
eMoviX by default looks in the CD root for "movix.asx" or "movix.list"
If none of them is available, then files should be played in alphabetic order.
If you like to have more than a playlist you can use other names and activate the other ones booting the CD with the LIST parameter. E.g if you have two playlists named "movix.list" and "alt.list" and want to use the second, then boot the CD in the following way:
boot: MoviX LIST=alt.list
NOTE: keep in mind that the new mplayer "menu" feature allows you to open a new playlist (or even to move from file) without having to reboot!
eMoviX contains translations in several languages for the boot-messages. To get a complete list use "mkmovixiso -h". To use boot messages in a language different from english use the "-lang <lang>" option of mkmovixiso [get details with "mkmovixiso -h"].
On many non-English keyboards like German and Hungarian the characters needed by eMoviX are hard to type and not where you would expect them. (IBM compatible PCs and eMoviX use the US English keyboard layout by default.)
You can use the --keyboard=<language> switch to change the keyboard layout both for the boot command line and for the Linux shell.
Example: "mkmovixiso --keyboard=de" will create an eMoviX CD that uses the German keyboard layout.
The eMoviX package contains the following mplayer fonts:
centralEU-cp1250, centralEU-iso-8859-2, czech, cyrillic, greek, hebrew, polish,
russian and turkish.
All these packages support latin characters (iso-8859-1) plus their specific characters.
Starting from 0.8.0rc2 eMoviX also supports TrueType fonts, and the following fonts
are included in the package:
Don't even ask about adding the standard Microsoft TrueType fonts such as Arial,
Courier and so on: they are free of charge but they are not under any kind of
"Open Source" license :-(
Nevertheless, you can add them very easily to your own eMoviX installation just copying the ttf files from your c:\windows\fonts\ directory (if any ;-) to your $prefix/share/emovix/mplayer-fonts/ directory or getting the fonts directly from the http://sourceforge.net/projects/corefonts/ page.
Of course all this under your own responsibility ;-) Thanks a lot to Balazs Barany for pointing out this little copyright problem to me! :-)
By default the FreeSerifBoldItalic font is added to the iso image. To have no fonts included add the -noSub option to the "mkmovixiso" command. See "mkmovixiso -h" to see how to choose a different font set.
In general you'll write something like
mkmovixiso -a filename -t "My title" -sub=greek -o /tmp/movix.iso
All mplayer fonts packages were extracted from
except for the polish fonts (sent me by Krzysztof Kajkowski) and hebrew fonts (sent me by Pavel Bibergal).
Here is where the included True Type fonts come from:
FreeFonts - http://www.nongnu.org/freefont/ VeraFonts - http://gnome.org/fonts/
For space reasons I did not include them all. If you want more choice, go get them and add all you want!
Chinese Fonts: I wanted to add chinese fonts but the size of a single TrueType
font file for chinese characters is 50% of the whole eMoviX package, so I gave
If you want to add chinese characters support, you can either follow the instructions at
or download the true type chinese fonts at
For debugging purposes, after a nice suggestion by Jose' M. Fandinho, I added to eMoviX a script that will put on a floppy the following info:
To run the script just put an empty floppy in the floppy drive, write "debug" and press ENTER.
To retrieve all the info from the floppy from your Linux installation
give the following command:
sed -n "1,/MOVIX_MARK/p" /dev/fd0 > bugreport.txt
Thanks a lot to Jose' for this nice trick!
You will find the config files for the current eMoviX mplayer and vmlinuz in the "config" dir of this package.
I want to thank the great guys at www.scriptamanent.it for making the
logo for the eMoviX project.
I also want to thanks my friend Andrea Assorgia for all his encouragements and good advices about making eMoviX 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! :-)