Command line video player
Go to file
arpi 3cd2f6eb27 some code clanup (first step to libdemuxer)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1290 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-07-07 18:46:15 +00:00
DOCS fix subdriver stuff 2001-07-07 16:37:02 +00:00
TOOLS fps es frequency megallapitas mukodik :) 2001-06-23 13:28:51 +00:00
TVout
debian strip is handled by install 2001-06-26 11:12:27 +00:00
drivers
liba52 Better 3dnow! optimization 2001-06-20 07:54:19 +00:00
libao2 Ignore generated config.mak files in CVS 2001-07-06 10:36:35 +00:00
libmpeg2 OPTFLAGS vs. INCLUDES cleanup 2001-06-26 23:15:58 +00:00
libvo Ignore generated config.mak files in CVS 2001-07-06 10:36:35 +00:00
linux
loader OPTFLAGS vs. INCLUDES cleanup 2001-06-26 23:15:58 +00:00
mp3lib My 2.10.1 gnu assembler doesn't like C comment syntax in assembler files. Use 2001-07-06 12:08:32 +00:00
xa
.cvsignore
Makefile ffmpeg support 2001-07-06 03:22:14 +00:00
alaw.h
asf.h
asf_streaming.c
asfheader.c some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
aviheader.c some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
aviprint.c
aviwrite.c
cfg-mplayer-def.h
cfg-mplayer.h Replaced LGBs video codec forcing change with mine for audio and video codecs, which is IMHO more convenient cause codecs are selected by name instead of number, one unclearity is left to me, that's why audio_format is used once before codecs selection for MPEG_PS files, that's why I left -afm in for that one. 2001-07-07 09:53:47 +00:00
cfgparser.c erm... 2001-06-11 00:12:09 +00:00
cfgparser.h
codec-cfg.c optional libavcodec (ffmpeg) support 2001-06-30 00:16:39 +00:00
codec-cfg.h
codecctrl.c
configure use -f test for file existance check 2001-07-06 20:00:22 +00:00
dec_audio.c some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
demux_asf.c
demux_avi.c
demux_mpg.c some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
demuxer.c
demuxer.h
dll_init.c
dvdauth.c FreeBSD patch by Vladimir Kushnir <vkushnir@Alfacom.net> 2001-06-21 00:06:40 +00:00
dvdauth.h Solaris 8 DVD support and other fixes by Juergen Keil <jk@tools.de> 2001-06-06 21:16:21 +00:00
fibmap_mplayer.c According an idea, mplayer now can use external setuid root wrapper to do FIBMAP ioctl (requires root priv). Also, a serious bug was fixed in dvdauth.c made by some guy when mixing old and new style CSS API into dvdauth.c ;-) 2001-06-19 00:05:27 +00:00
fifo.c
find_sub.c sub at key=0 fixed 2001-06-23 16:59:40 +00:00
help_mp.h updated for release 2001-06-23 20:04:59 +00:00
http.c
http.h
lirc_mp.c ASYNC +- patch applied by Olli Sulopuisto <dst@iki.fi> 2001-06-19 22:16:12 +00:00
lirc_mp.h
mixer.c patch by Jürgen Keil 2001-06-08 23:36:58 +00:00
mixer.h
mplayer.c some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
mplayer.h
network.c
network.h
parse_es.c
spudec.c
spudec.h
stheader.h some code clanup (first step to libdemuxer) 2001-07-07 18:46:15 +00:00
stream.c FreeBSD patch by Vladimir Kushnir <vkushnir@Alfacom.net> 2001-06-21 00:06:40 +00:00
stream.h
subreader.c new sub format... 2001-06-09 20:09:18 +00:00
subreader.h
tvision.c
url.c
url.h
vcd_read.h Remove compiler warning. 2001-06-12 06:53:32 +00:00
vcd_read_fbsd.h FreeBSD patch by Vladimir Kushnir <vkushnir@Alfacom.net> 2001-06-21 00:06:40 +00:00
version.sh
videodev.h

DOCS/README

MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)
================================ * See the file AUTHORS for the complete list *
http://mplayer.sourceforge.net (or http://mplayer.dev.hu)

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, for example AAlib) and
some lowlevel card-specific drivers (for Matrox) 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 (7 supported types!!!) with
hungarian, english, cyrillic, czech, korean fonts, and OSD?

History:
~~~~~~~~
This began a year ago...
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:
  Some new developers joined and from 0.11 the mplayer project is a team-work!
  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.
- MPlayer 0.18 "The BugCounter"
  2 months since 0.17 and here's a new release.. Completed ASF support,
  more subtitle formats, introduced libao (similar to libvo but to audio),
  even more stable than ever, and so on. It's a MUST !

As you see, I didn't write any codecs, just some players. Instead I spent
a lot of time finding the best way to parse bad damaged input files
(both MPEG 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, and
you can rebuild their indexes with the -idx option, thus enabling seeking!
As you see, stability and quality are the most important things for me,
but the speed is also amazing.

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.
There is a GUI development for the player, coordinated by Pontscho/Fresh!
It's still under development, but it will be merged and released real 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, stdin, DVD drive or network via HTTP

Note: about quicktime (.mov/.qt) and realmedia (.ra/.rm) support read the FAQ!

Supported audio & video codecs:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*** See http://mplayer.sourceforge.net/DOCS/codecs.html ***
***       for the complete, daily updated 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 (native code, with 3dnow optimization)
- AC3 dolby audio (native code, with 3dnow optimization)
- 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 http://mplayer.sourceforge.net/DOCS/codecs.html and DOCS/CODECS
to get info about its status and about how to help us adding support for it!

Supported video output devices:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
General:
- x11:	X11 with optional SHM extension
- xv:	X11 using overlays with the Xvideo extension (hardware YUV & scaling)
- gl:	OpenGL renderer, so far works only with :
	- all cards with Utah-GLX
	- Matrox cards with X/DRI >=4.0.3
	- Radeon with X/DRI CVS
- dga:	X11 DGA extension
- fbdev:Output to general framebuffers
- svga: Output to SVGAlib
- sdl:	1.1.7 : supports software scaling
	1.1.8 : supports Xvideo (hardware scaling/fullscreen)
	1.2.0 : supports aalib (textmode rendering, very funny!)
- ggi: similar to SDL

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 (obsoleted, 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 for details and requirements!

Supported audio output devices:                                              
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- OSS (ioctl) driver
- SDL driver (supports up/downsampling, esd, arts etc)
- native ALSA 0.5 driver
- native ALSA 0.9 driver (buggy, use OSS emulation!)
- native ESD driver (under development?)
- SUN audio driver (/dev/audio) for BSD and Solaris8 users

NOTE: check DOCS/SOUNDCARDS for details!

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

Usage:
~~~~~~
  file:  mplayer [options] [path/]filename
  VCD:   mplayer [options] -vcd trackno /dev/cdrom
  DVD:   mplayer [options] -dvdauth /dev/dvd filename.VOB
  net:   mplayer [options] http://site.com/file.[mpg|avi]

  Options:
    see  `mplayer -h'  for options
    see  `mplayer -vo help'  for list of available video output drivers
    see  `mplayer -ao help'  for list of available audio 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 -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: see DOCS/VIDEOCARDS .

Playing from Net & 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 -
or:
	wget ftp://micorsops.com/something.avi -O - | mplayer -


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 core/hungarian developers list:
	http://lists.sourceforge.net/lists/listinfo/mplayer-devel

	I dunno, it is the FLAME list in hungarian language :)
	Also some talking about mplayer core team internals, like mplayer
	party, sponsors etc can be here.

- MPlayer developers list:
	http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng

	This list is about mplayer development! Talking about interface/API changes,
	new libraryes, code optimization, ./configure changes, and send patches here.
	Do NOT send bugreports, user questions, feature requests here!
	This list should be kept low-traffic.

- MPlayer users list:  
	http://lists.sourceforge.net/lists/listinfo/mplayer-users

	- send bugreports here (after reading DOCS/BUGS, BUGREPORTS)
	- send feature requests here (after reading DOCS/TODO)
	- send user questions here (after reading DOCS/README, INSTALL, FAQ etc)

- MPlayer & Matrox G200/G400/G450 users:
	http://lists.sourceforge.net/lists/listinfo/mplayer-matrox

	Send matrox-related questions here,
	- things about mga_vid,
	- matrox's official beta drivers (for X 4.x.x)
	- and about matroxfb-TVout stuff.

- mpg12play-portable developers:
	http://lists.sourceforge.net/lists/listinfo/mplayer-mpg12play

	This list is for talking about mplayer ports to non-x86 platforms
	(IRIX, Solaris-SPARC, Alpha, Commodore64, Sharp Calculator,
	Teapot etc...)

- MPlayer announce:    
	http://lists.sourceforge.net/lists/listinfo/mplayer-announce

	Very low traffic list :)
	And it's read-only. I'll post something shit there if a new release
	is done.

- MPlayer CVS-log:     
	http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog

	Send only questions about CVS changes here.
	(if you don't understand why a change is required or you've better fix)
	Be sure in that your target developer reads this list!

NOTE: language of above lists are ENGLISH, unless explicitly stated otherwise.
      Please do not send messages using other language!

License:
~~~~~~~~
MPlayer incorporates a lot of code from other projects, but for now everything
except the OpenDivX stuff is under General Public License (GPL) version 2 or
later.

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