summaryrefslogtreecommitdiffstats
path: root/DOCS/README
blob: 0b23d4a694d5d9ebb8f60c1e0e1ba35cc378852a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
MPlayer (CVS version)           (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)
=============================== * See the file AUTHORS for the complete list *
http://mplayer.sourceforge.net

About:
~~~~~~
MPlayer is a movie player for LINUX. It plays most mpeg, avi and asf files,
supported by many native and win32 DLL codecs. You can watch VCD, DVD and
even DivX movies too. The another big feature of mplayer is the wide range
of supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib,
fbdev, but you can use SDL (and this way all drivers of SDL) and some 
lowlevel card-specific drivers (for Matrox/3dfx/SiS) too! Most of them
supports software or hardware scaling, so you can enjoy movies in fullscreen.
And what about the nice big antialiased shaded subtitles (.sub files) with
hungarian, english, cyrillic, czech, korean fonts, and OSD?

History:
~~~~~~~~
Yes. Yet another movie player for linux.
What is the special with this? It works, at least for me :)
I've tried lots of players under linux (mtv,xmps,dvdview,livid/oms,VideoLAN,
xine,xanim,avifile,xmmp) but they all have some problem. Mostly with
special files or with audio/video sync. Most of them is unable to play
both mpeg1, mpeg2 and avi (DivX) files. Many players have image quality
or speed problems too. So I've decided to write/modify one...

- mpg12play v0.1-v0.3:
  The first try, hacked together in a half hour!
  I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
  but there were image quality and speed problems with it.
- mpg12play v0.5-v0.87:
  Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
  but it was slow and was written in C++ (I hate C++!!!)
- mpg12play v0.9-v0.95pre5:
  Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse.
  It's great, optimized very fast C code with perfect image quality and
  100% mpeg standard conformance.
- MPlayer v0.3-v0.9:
  It was a pack of two programs: mpg12playv0.95pre6 and my new simple AVI
  player 'avip' based on avifile's Win32 DLL loader.
- MPlayer v0.10:
  The mpeg and avi player in a single binary!
- MPlayer v0.11:
  Added .asf file support, and OpenDivX (see www.projectmayo.com) en/decoding.
- MPlayer v0.17 "The IdegCounter"
  The release version of the 0.11pre after 4 months of heavy development!
  Try it, and be amazed! Thousands of new features added... and of course
  old code was improved too, bugs removed etc.

As you see, I didn't write any codecs, just some players. But I spent
a lot of time finding the best way to parse bad damaged input files
(both mpg and avi) and to do perfect A-V sync with seeking ability.
My player is rock solid playing damaged mpeg files (useful for some VCDs),
and it plays bad AVI files which are unplayable with the famous
windows media player. Even AVI files without index chunk are playable!
As you see, stability and quality are the most important things for me,
speed has lower priority, but is still very important.

What about the GUI?
~~~~~~~~~~~~~~~~~~~
I'm not a GUI programmer. I hate GUIs, I like the pure black 80x25 console.
So the player has only keyboard control from the controlling console/xterm now.
But there is a GUI development for the player, coordinated by Pontscho/Fresh!
It's still under development, but it will be merged and released soon.
BTW he needs some nice skins, if you are a good graphician, contact him!!!

Supported input formats:
~~~~~~~~~~~~~~~~~~~~~~~~
- VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file
- DVD, directly from your DVD disk, using optional libcss for decryption
- MPEG 1/2 System Stream (PS/PES/VOB) and Elementary Stream (ES) file formats
- RIFF AVI file format
- ASF 1.0 file format
- supports reading from file or stdin

Supported audio & video codecs:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*** See http://mplayer.sourceforge.net/DOCS/codecs.html ***
***               for the complete list                 ***

The most important video codecs:
- mpeg1 (VCD) and mpeg2 (DVD) video
- DivX, OpenDivX and other MPEG4 variants
- Windows Media Video 7 (WMV1) used in .wmv files
- Intel Indeo codecs (3.1,3.2,4.1,5.0)
- MJPEG, ASV2 and other hardware formats

The most important audio codecs:
- mpeg layer 2, and layer 3 (MP3) audio
- AC3 dolby audio
- Voxware audio
- alaw, msgsm, pcm and other simple old audio formats

If you have a codec not listed here, and not supported yet, just
read DOCS/CODECS to get info about its status or about
how to help us adding support for it!

Supported video output devices:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
General:
- x11:	X11 with SHM extension
- xv:	X11 using overlays with the Xvideo extension (hardware YUV & scaling)
- gl:	OpenGL renderer, works only with Utah-GLX! (no DRI or nVidia drivers)
- dga:	X11 DGA extension
- fsdga:X11 DGA extension with fullscreen scaling (only 24/32bpp and MPEG!)
- fbdev:Output to general framebuffers
- svga: Output to SVGAlib
- sdl:	SDL >= v1.1.7 driver (supports software scaling, and versions >=1.1.8
        even support Xvideo (thus hardware rendering) and with >=1.2.0 aalib)

Card specific:
- mga:	Matrox G200/G400 hardware YUV overlay via the mga_vid device
- xmga:	Matrox G200/G400 overlay (mga_vid) in X11 window
	(Xv emulation on X 3.3.x !)
- syncfb: Matrox G400 YUV support on framebuffer (obsoloted, use mga/xmga)
- 3dfx:	Voodoo2/3 hardware YUV (/dev/3dfx) support (not yet tested, maybe broken)

Special:
- png:  PNG files output (use -z switch to set compression)
- pgm:	PGM files output (for testing purposes or ffmpeg encoding)
- md5:	MD5sum output (for mpeg conformance tests)
- odivx:OpenDivX AVI File writer (use -br to set encoding bitrate)
- null:	Null output (for speed tests/benchmarking)

NOTE: check DOCS/VIDEOCARDS !

Supported audio output devices:                                              
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- OSS driver
- ALSA driver with OSS emulation (NOT recommended, causes annoying delays)
- ESD with the esddsp utility (not tested, not recommended, see ALSA)

NOTE: check DOCS/SOUNDCARDS for details!

Speed:
~~~~~~
Most of time-critical parts are optimized for MMX/MMXext/SSE/3DNow!.
You can improve rendering speed by setting up MTRR registers, see doc in MTRR.
Some *old* benchmark results can be found in the doc file SPEED.

Usage:
~~~~~~
  mplayer [options] [-vo driver] [path/]filename

  Options:
    see  `mplayer -h'  for options
    see  `mplayer -vo help'  for list of available output drivers

  Keys:
    <-  or  ->      seek backward/forward 10 seconds
    up or down      seek backward/forward 1 minute
    p or SPACE      pause movie (press any key to continue)
    q  or  ^C       stop playing and quit program
    o               toggle OSD : none / seek / seek+timer
    /  and *        decrease/increase volume
    m               toggle using master/pcm channel for volume setting
    f               toggle fullscreen (only with -vo sdl)

  Examples:
    mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
    mplayer -vcd 2 /dev/cdrom
    mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
    mplayer -dvd /dev/dvd /mnt/dvd/matrix.vob
    mplayer -alsa -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

  Note:  in order to use Matrox YUV driver (-vo mga or xmga), first you'll have
         to load the driver: insmod drivers/mga_vid.o , or to make it automatic
         insert the following line at the end of /etc/modules.conf:
         alias char-major-178 mga_vid
         and run 'depmod -a' .

Playing from stdin:
~~~~~~~~~~~~~~~~~~~
Now it's possible.

To play something by reading from stdin, just use '-' as filename:

cat test.mpg | mplayer -vo xv -

Restrictions:
	mpg: no backward seeking
	asf: no backward seeking
	avi: no index reading -> no seeking at all, and playing of some files are
		+impossible

No control from controlling terminal/xterm, but hotkeys and osd works
from the window. or course LIRC still works everywhere.

This feature combined with external wrappers extends possibilities.
For example, to play a movie just downloaded from your favourite divx
server:
	rar p ast-nssvcd.rar | mplayer -vo xmga -fs -

With an asf grabber or http dump program you can play from the net.
	wget ftp://micorsops.com/something.avi -O - | mplayer -

(however we planned to add direct asf/http/ftp inputs with seeking and other
stuff, but for now it's a good workaround)

TV output:
~~~~~~~~~~
If you have a Matrox G400 Dual-Head card, you can watch movies on TV, using
the TV-out feature of the second head. Read DOCS/TVout-G400 for details!

Sending bugreports, comments, feature requests etc:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First please read all the docs in this package, most of the problems are
described somewhere. At least read DOCS/BUGS !  We don't like answering
questions which are already answered in this readme or other docs.

Read the DOCS/MPlayer-FAQ. Most common problems are answered there!

You should try the latest development version (from CVS) too, maybe your
bug is already fixed, but the new version hasn't been released.
If you couldn't solve the problem, then send a quality bugreport:
read DOCS/BUGREPORTS for instructions (where, what and how...)

Subscribe to the mplayer-users mailing list. There are many MPlayer
users, maybe they can help or know the solution to your problem.
You also should send ideas, feature requests, comments to there!
Please do not ask for features already listed in the DOCS/TODO!

Contact information:
~~~~~~~~~~~~~~~~~~~~
Homepage:  http://mplayer.sourceforge.net

Mailing lists:
~~~~~~~~~~~~~~
There are some public mailing lists on MPlayer. Subscribing can be achieved on
the following addresses:

- MPlayer users list:  (send your ideas, bugreports, feature requests here)
	http://lists.sourceforge.net/lists/listinfo/mplayer-users

- MPlayer & Matrox G200/G400/G450 users: (about TV-out, mga_vid, syncfb, Xv)
	http://lists.sourceforge.net/lists/listinfo/mplayer-matrox

- MPlayer developers list:  (send your patches here)
	http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng

- MPlayer announce:    (information about new releases or big changes in CVS)
	http://lists.sourceforge.net/lists/listinfo/mplayer-announce

- MPlayer CVS-log:     (announce about _every_ CVS commit)
	http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog

NOTE: language of above lists are ENGLISH. Please do not send there
      messages using other language!

License:                                                                     
~~~~~~~~
Since MPlayer incorporates a lot of code from other projects, this isn't
decided yet. We're going for GPL (will be pretty hard, though).

Standard Disclaimer:
~~~~~~~~~~~~~~~~~~~~
Use only at your own risk! There may be errors and inaccuracies that could
damage your system or your eye. Proceed with caution, and although this is
highly unlikely, we don't take any responsibility for that!