mirror of https://github.com/mpv-player/mpv
2618 lines
103 KiB
HTML
2618 lines
103 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<HTML>
|
||
|
||
<HEAD>
|
||
<TITLE>Documentation - MPlayer - The Movie Player for Linux</TITLE>
|
||
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
|
||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
||
</HEAD>
|
||
|
||
<BODY>
|
||
|
||
<CENTER>
|
||
<B>MPlayer - Movie Player for LINUX (C) 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)</B><BR>
|
||
<BR><A HREF="http://www.mplayerhq.hu">http://www.mplayerhq.hu</A><BR><BR>
|
||
[ English ]
|
||
<A HREF="Hungarian/documentation.html">[ Hungarian ]</A>
|
||
<A HREF="German/documentation.html">[ German ]</A>
|
||
<A HREF="French/documentation.html">[ French ]</A>
|
||
<A HREF="Polish/documentation.html">[ Polish ]</A>
|
||
<A HREF="Italian/documentation.html">[ Italian ]</A>
|
||
</CENTER>
|
||
|
||
<HR>
|
||
|
||
<P>Table of Contents</P>
|
||
|
||
<HR>
|
||
|
||
<UL>
|
||
<LI><A HREF="#reading">0. How to read this documentation</A></LI>
|
||
<LI><A HREF="#introduction">1. Introduction</A>
|
||
<UL>
|
||
<LI><A HREF="#overview">1.1 Overview</A></LI>
|
||
<LI><A HREF="#history">1.2 History</A></LI>
|
||
<LI><A HREF="#installation">1.3 Installation</A></LI>
|
||
<LI><A HREF="#gui">1.4 What about the GUI?</A></LI>
|
||
<LI><A HREF="#subtitles_osd">1.5 Subtitles and OSD</A></LI>
|
||
<LI><A HREF="#rtc">1.6 RTC</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#features">2. Features</A>
|
||
<UL>
|
||
<LI><A HREF="formats.html">2.1 Supported formats</A>
|
||
<UL>
|
||
<LI><A HREF="formats.html#video_formats">2.1.1 Video formats</A>
|
||
<UL>
|
||
<LI><A HREF="formats.html#mpeg">2.1.1.1 MPEG files</A></LI>
|
||
<LI><A HREF="formats.html#avi">2.1.1.2 AVI files</A></LI>
|
||
<LI><A HREF="formats.html#asf">2.1.1.3 ASF/WMV files</A></LI>
|
||
<LI><A HREF="formats.html#mov">2.1.1.4 QuickTime/MOV files</A></LI>
|
||
<LI><A HREF="formats.html#vivo">2.1.1.5 VIVO files</A></LI>
|
||
<LI><A HREF="formats.html#fli">2.1.1.6 FLI files</A></LI>
|
||
<LI><A HREF="formats.html#real">2.1.1.7 RealMedia (RM) files</A></LI>
|
||
<LI><A HREF="formats.html#nuppelvideo">2.1.1.8 NuppelVideo files</A></LI>
|
||
<LI><A HREF="formats.html#yuv4mpeg">2.1.1.9 yuv4mpeg files</A></LI>
|
||
<LI><A HREF="formats.html#film">2.1.1.10 FILM files</A></LI>
|
||
<LI><A HREF="formats.html#roq">2.1.1.11 RoQ files</A></LI>
|
||
<LI><A HREF="formats.html#ogg">2.1.1.12 OGG files</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="formats.html#audio_formats">2.1.2 Audio formats</A>
|
||
<UL>
|
||
<LI><A HREF="formats.html#mp3">2.1.2.1 MP3 files</A></LI>
|
||
<LI><A HREF="formats.html#wav">2.1.2.2 WAV files</A></LI>
|
||
<LI><A HREF="formats.html#ogg_vorbis">2.1.2.3 OGG files (Vorbis)</A></LI>
|
||
<LI><A HREF="formats.html#wma">2.1.2.4 WMA/ASF files</A></LI>
|
||
<LI><A HREF="formats.html#mp4">2.1.2.5 MP4 files</A></LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="codecs.html">2.2 Supported codecs</A>
|
||
<UL>
|
||
<LI><A HREF="codecs.html#video_codecs">2.2.1 Video codecs</A>
|
||
<UL>
|
||
<LI><A HREF="codecs.html#divx">2.2.1.1 DivX4/DivX5</A></LI>
|
||
<LI><A HREF="codecs.html#libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></LI>
|
||
<LI><A HREF="codecs.html#xanim">2.2.1.3 XAnim codecs</A></LI>
|
||
<LI><A HREF="codecs.html#vivo_video">2.2.1.4 VIVO video</A></LI>
|
||
<LI><A HREF="codecs.html#mpeg">2.2.1.5 MPEG 1/2 video</A></LI>
|
||
<LI><A HREF="codecs.html#ms_video1">2.2.1.6 MS Video1</A></LI>
|
||
<LI><A HREF="codecs.html#cinepak">2.2.1.7 Cinepak CVID</A></LI>
|
||
<LI><A HREF="codecs.html#realvideo">2.2.1.8 RealVideo</A></LI>
|
||
<LI><A HREF="codecs.html#xvid">2.2.1.9 XViD</A></LI>
|
||
<LI><A HREF="codecs.html#sorenson">2.2.1.10 Sorenson</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="codecs.html#audio_codecs">2.2.2 Audio codecs</A>
|
||
<UL>
|
||
<LI><A HREF="codecs.html#software_ac3">2.2.2.1 Software AC3 decoding</A></LI>
|
||
<LI><A HREF="codecs.html#hardware_ac3">2.2.2.2 Hardware AC3 decoding</A></LI>
|
||
<LI><A HREF="codecs.html#libmad">2.2.2.3 libmad support</A></LI>
|
||
<LI><A HREF="codecs.html#vivo_audio">2.2.2.4 VIVO audio</A></LI>
|
||
<LI><A HREF="codecs.html#realaudio">2.2.2.5 RealAudio</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="codecs.html#importing">2.2.3 Win32 codec importing HOWTO</A>
|
||
<UL>
|
||
<LI><A HREF="codecs.html#importing_vfw">2.2.3.1 VFW codecs</A></LI>
|
||
<LI><A HREF="codecs.html#importing_directshow">2.2.3.2 DirectShow codecs</A></LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#output">2.3 Output devices</A>
|
||
<UL>
|
||
<LI><A HREF="video.html">2.3.1 Video output devices</A>
|
||
<UL>
|
||
<LI><A HREF="video.html#mtrr">2.3.1.1 Setting up MTRR</A></LI>
|
||
<LI><A HREF="video.html#xv">2.3.1.2 Xv</A>
|
||
<UL>
|
||
<LI><A HREF="video.html#xv_3dfx">2.3.1.2.1 3dfx cards</A></LI>
|
||
<LI><A HREF="video.html#xv_s3">2.3.1.2.2 S3 cards</A></LI>
|
||
<LI><A HREF="video.html#xv_nvidia">2.3.1.2.3 nVidia cards</A></LI>
|
||
<LI><A HREF="video.html#xv_ati">2.3.1.2.4 ATI cards</A></LI>
|
||
<LI><A HREF="video.html#xv_neomagic">2.3.1.2.5 NeoMagic cards</A></LI>
|
||
<LI><A HREF="video.html#xv_trident">2.3.1.2.6 Trident cards</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="video.html#dga">2.3.1.3 DGA</A>
|
||
<UL>
|
||
<LI><A HREF="video.html#dga_summary">2.3.1.3.1 Summary</A></LI>
|
||
<LI><A HREF="video.html#dga_whatis">2.3.1.3.2 What is DGA</A></LI>
|
||
<LI><A HREF="video.html#dga_installation">2.3.1.3.3 Installing DGA support for MPlayer</A></LI>
|
||
<LI><A HREF="video.html#dga_resolution">2.3.1.3.4 Resolution switching</A></LI>
|
||
<LI><A HREF="video.html#dga_mplayer">2.3.1.3.5 DGA & MPlayer</A></LI>
|
||
<LI><A HREF="video.html#dga_features">2.3.1.3.6 Features of the DGA driver</A></LI>
|
||
<LI><A HREF="video.html#dga_speed">2.3.1.3.7 Speed issues</A></LI>
|
||
<LI><A HREF="video.html#dga_bugs">2.3.1.3.8 Known bugs</A></LI>
|
||
<LI><A HREF="video.html#dga_future">2.3.1.3.9 Future work</A></LI>
|
||
<LI><A HREF="video.html#dga_modelines">2.3.1.3.A Some modelines</A></LI>
|
||
<LI><A HREF="video.html#dga_bug_reports">2.3.1.3.B Bug Reports</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="video.html#sdl">2.3.1.4 SDL</A></LI>
|
||
<LI><A HREF="video.html#svgalib">2.3.1.5 SVGAlib</A></LI>
|
||
<LI><A HREF="video.html#fbdev">2.3.1.6 Framebuffer output (FBdev)</A></LI>
|
||
<LI><A HREF="video.html#mga_vid">2.3.1.7 Matrox framebuffer (mga_vid)</A></LI>
|
||
<LI><A HREF="video.html#sis_vid">2.3.1.8 SiS 6326 framebuffer (sis_vid)</A></LI>
|
||
<LI><A HREF="video.html#tdfxfb">2.3.1.9 3dfx YUV support (tdfxfb)</A></LI>
|
||
<LI><A HREF="video.html#opengl">2.3.1.10 OpenGL output</A></LI>
|
||
<LI><A HREF="video.html#aalib">2.3.1.11 AAlib - text mode displaying</A></LI>
|
||
<LI><A HREF="video.html#vesa">2.3.1.12 VESA - output to VESA BIOS</A></LI>
|
||
<LI><A HREF="video.html#x11">2.3.1.13 X11</A></LI>
|
||
<LI><A HREF="video.html#vidix">2.3.1.14 VIDIX</A></LI>
|
||
<LI><A HREF="video.html#zr">2.3.1.15 Zr</A></LI>
|
||
<LI><A HREF="video.html#dvb">2.3.1.16 DVB</A></LI>
|
||
<LI><A HREF="video.html#dxr3">2.3.1.17 DXR3</A></LI>
|
||
<LI><A HREF="video.html#tv-out">2.3.1.A TV-out support</A>
|
||
<UL>
|
||
<LI><A HREF="video.html#tv-out_matrox">2.3.1.A.1 Matrox G400 cards</A></LI>
|
||
<LI><A HREF="video.html#tv-out_ati">2.3.1.A.2 ATI cards</A></LI>
|
||
<LI><A HREF="video.html#tv-out_voodoo">2.3.1.A.3 Voodoo 3</A></LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
<LI><A HREF="sound.html">2.3.2 Audio output devices</A>
|
||
<UL>
|
||
<LI><A HREF="sound.html#experiences">2.3.2.1 Sound card experiences, recommendations</A></LI>
|
||
<LI><A HREF="sound.html#plugins">2.3.2.2 Audio plugins</A>
|
||
<UL>
|
||
<LI><A HREF="sound.html#resample">2.3.2.2.1 Up/Downsampling</A></LI>
|
||
<LI><A HREF="sound.html#surround_decoding">2.3.2.2.2 Surround Sound decoding</A></LI>
|
||
<LI><A HREF="sound.html#format">2.3.2.2.3 Sample format converter</A></LI>
|
||
<LI><A HREF="sound.html#delay">2.3.2.2.4 Delay</A></LI>
|
||
<LI><A HREF="sound.html#volume">2.3.2.2.5 Software volume control</A></LI>
|
||
<LI><A HREF="sound.html#extrastereo">2.3.2.2.6 Extrastereo</A></LI>
|
||
<LI><A HREF="sound.html#normalizer">2.3.2.2.7 Volume Normalizer</A></LI>
|
||
<LI><A HREF="sound.html#surround">2.3.2.2.8 Surround</A></LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="encoding.html">2.4 Encoding with MEncoder</A>
|
||
<UL>
|
||
<LI><A HREF="encoding.html#overview">2.4.1 Overview</A></LI>
|
||
<LI><A HREF="encoding.html#compilation">2.4.2 Compilation</A></LI>
|
||
<LI><A HREF="encoding.html#features">2.4.3 MEncoder Features</A>
|
||
<UL>
|
||
<LI><A HREF="encoding.html#summary">2.4.3 Summary</A></LI>
|
||
<LI><A HREF="encoding.html#2pass">2.4.3.1 Encoding 2 or 3-pass DivX4</A></LI>
|
||
<LI><A HREF="encoding.html#rescaling">2.4.3.2 Rescaling movies</A></LI>
|
||
<LI><A HREF="encoding.html#copying">2.4.3.3 Stream copying</A></LI>
|
||
<LI><A HREF="encoding.html#fixing">2.4.3.4 Fixing AVIs with broken index</A></LI>
|
||
<LI><A HREF="encoding.html#libavcodec">2.4.3.5 Encoding with the libavcodec codec family</A></LI>
|
||
<LI><A HREF="encoding.html#image_files">2.4.3.6 Encoding from multiple input image files (JPEGs or PNGs)</A></LI>
|
||
<LI><A HREF="encoding.html#vobsub">2.4.3.7 Extracting DVD subtitles to Vobsub file</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="encoding.html#syntax">2.4.4 Syntax</A></LI>
|
||
<LI><A HREF="encoding.html#options">2.4.5 Available options</A></LI>
|
||
<LI><A HREF="encoding.html#examples">2.4.6 Examples</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#tv">2.5 TV input</A>
|
||
<UL>
|
||
<LI><A HREF="#tv_overview">2.5.1 Overview</A></LI>
|
||
<LI><A HREF="#tv_compilation">2.5.2 Compilation</A></LI>
|
||
<LI><A HREF="#tv_options">2.5.3 Available options</A></LI>
|
||
<LI><A HREF="#tv_keyboard">2.5.4 Keyboard control</A></LI>
|
||
<LI><A HREF="#tv_examples">2.5.5 Examples</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#filters">2.6 Video filters</A>
|
||
<UL>
|
||
<LI><A HREF="#filters_overview">2.6.1 Overview</A></LI>
|
||
<LI><A HREF="#filters_usage">2.6.2 Usage</A></LI>
|
||
<LI><A HREF="#filters_crop">2.6.3 Crop</A></LI>
|
||
<LI><A HREF="#filters_expand">2.6.4 Expand</A></LI>
|
||
<LI><A HREF="#filters_fame">2.6.5 Fame/Lavc</A></LI>
|
||
<LI><A HREF="#filters_flip">2.6.6 Flip</A></LI>
|
||
<LI><A HREF="#filters_format">2.6.7 Format</A></LI>
|
||
<LI><A HREF="#filters_postprocess">2.6.8 Postprocess</A></LI>
|
||
<LI><A HREF="#filters_rgb2bgr">2.6.9 RGB2BGR</A></LI>
|
||
<LI><A HREF="#filters_rotate">2.6.10 Rotate</A></LI>
|
||
<LI><A HREF="#filters_scale">2.6.11 Scale</A></LI>
|
||
<LI><A HREF="#filters_yuy2">2.6.12 YUY2</A></LI>
|
||
<LI><A HREF="#filters_mirror">2.6.13 Mirror</A></LI>
|
||
<LI><A HREF="#filters_dvbscale">2.6.14 DVBscale</A></LI>
|
||
<LI><A HREF="#filters_cropdetect">2.6.15 Cropdetect</A></LI>
|
||
<LI><A HREF="#filters_rectangle">2.6.16 Rectangle</A></LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#usage">3. Usage</A>
|
||
<UL>
|
||
<LI><A HREF="#command_line">3.1 Command line</A></LI>
|
||
<LI><A HREF="#control">3.2 Control</A>
|
||
<UL>
|
||
<LI><A HREF="#default_controls">3.2.1 Default controls</A></LI>
|
||
<LI><A HREF="#controls_configuration">3.2.2 Controls configuration</A>
|
||
<UL>
|
||
<LI><A HREF="#key_names">3.2.2.1 Key names</A></LI>
|
||
<LI><A HREF="#commands">3.2.2.2 Commands</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#lirc">3.2.3 Control from LIRC</A></LI>
|
||
<LI><A HREF="#slave">3.2.4 Slave mode</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#streaming">3.3 Streaming from network or pipes</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="cd-dvd.html">4. CD/DVD section</A>
|
||
<UL>
|
||
<LI><A HREF="cd-dvd.html#drives">4.1 CD/DVD drives</A></LI>
|
||
<LI><A HREF="cd-dvd.html#dvd">4.2 DVD playback</A></LI>
|
||
<LI><A HREF="cd-dvd.html#vcd">4.3 VCD playback</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="faq.html">5. FAQ section</A>
|
||
<UL>
|
||
<LI><A HREF="faq.html#compilation">5.1 Compilation</A></LI>
|
||
<LI><A HREF="faq.html#general">5.2 General questions</A></LI>
|
||
<LI><A HREF="faq.html#playback">5.3 playback problems</A></LI>
|
||
<LI><A HREF="faq.html#driver">5.4 Video/audio driver problems (vo/ao)</A></LI>
|
||
<LI><A HREF="faq.html#dvd">5.5 DVD playback</A></LI>
|
||
<LI><A HREF="faq.html#features">5.6 Feature requests</A></LI>
|
||
<LI><A HREF="faq.html#encoding">5.7 Encoding</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#ports">6. Ports</A>
|
||
<UL>
|
||
<LI><A HREF="#debian">6.1 Debian packaging</A></LI>
|
||
<LI><A HREF="#freebsd">6.2 FreeBSD</A></LI>
|
||
<LI><A HREF="#solaris">6.3 Solaris</A></LI>
|
||
<LI><A HREF="#strongarm">6.4 StrongARM</A></LI>
|
||
<LI><A HREF="#sgi">6.5 Silicon Graphics / Irix</A></LI>
|
||
<LI><A HREF="#qnx">6.6 QNX</A></LI>
|
||
<LI><A HREF="#openbsd">6.7 OpenBSD</A></LI>
|
||
<LI><A HREF="#cygwin">6.8 Cygwin</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#authors">Appendix A - Authors</A>
|
||
<UL>
|
||
<LI><A HREF="#maintainers">Appendix A2 - Maintainers</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#mailing_lists">Appendix B - Mailing lists</A></LI>
|
||
<LI><A HREF="bugreports.html">Appendix C - How to report bugs</A>
|
||
<UL>
|
||
<LI><A HREF="tech/patches.txt">Appendix C2 - How to send patches</A></LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><A HREF="#known_bugs">Appendix D - Known bugs</A></LI>
|
||
<LI><A HREF="skin-en.html">Appendix X - How to become a famous skin maker in 5 minutes!</A></LI>
|
||
</UL>
|
||
|
||
<HR>
|
||
Developer Cries
|
||
<HR>
|
||
|
||
<UL>
|
||
<LI><A HREF="users_against_developers.html#gcc">1. GCC 2.96</A></LI>
|
||
<LI><A HREF="users_against_developers.html#nvidia">2. NVidia opinions</A></LI>
|
||
<LI><A HREF="users_against_developers.html#barr">3. About Joe Barr</A></LI>
|
||
</UL>
|
||
|
||
<HR>
|
||
|
||
|
||
|
||
<P><B><A NAME="reading">0. How to read this documentation</A></B></P>
|
||
|
||
<P>If you are a first-time installer: be sure to read everything from here to
|
||
the end of the Installation section, and follow the links you will find. If
|
||
you have any other questions, return to the TOC (Table of Contents) and
|
||
search for the topic, read the FAQ, or try grepping though the files.</P>
|
||
|
||
<P>The main rule of this documentation: if it's not documented, it
|
||
<U>does not exist</U>. If I don't say you encode audio from TV tuner, you
|
||
can't. A healthy quantity of combining ability is welcomed, though.
|
||
Good luck. You'll need it :) And for another good advice, let me quote
|
||
Chris Phillips from the <B>mplayer-users</B> mailing list:</P>
|
||
|
||
<P><I>"I said a while ago that there is such a difference between a newbie and
|
||
a dumbass. No matter what you actually know about a system (linux, cars,
|
||
girls :D) you should ALWAYS be able to take a step back and be objective,
|
||
otherwise, you're just dumb IMHO. A girl i live with assumed the vacuum
|
||
cleaner was broken because it didn't suck things up. never thought to change
|
||
the bag, becasue she'd never done it before... now that's just stupid, not a
|
||
case of simply not knowing what to do... Simply not being that familiar with
|
||
your surroundings is no excuse for a) laziness and b) ignorance. So many
|
||
people seem to see the word "error" and then stop... few seem to actually
|
||
read the words on the OTHER side of the colon."</I></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="introduction">1. Introduction</A></B></P>
|
||
|
||
|
||
<P><B><A NAME="overview">1.1 Overview</A></B></P>
|
||
|
||
<P><B>MPlayer</B> is a movie player for LINUX (runs on many other Unices, and
|
||
<B>non-x86</B> CPUs, see the <A HREF="#ports">ports section</A>). It plays most
|
||
MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg,
|
||
FILM, RoQ files, supported by many native, XAnim, RealPlayer, and
|
||
Win32 DLL codecs. You can watch <B>VideoCD</B>, <B>SVCD</B>, <B>DVD</B>,
|
||
<B>3ivx</B>, <B>RealMedia</B>, and <B>DivX</B> movies too (and you don't need
|
||
the avifile
|
||
library at all!). The another big feature of mplayer is the wide range of
|
||
supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
|
||
AAlib, DirectFB, but you can use GGI and SDL (and this way all their drivers)
|
||
and some lowlevel card-specific drivers (for Matrox, 3Dfx and Radeon,
|
||
Mach64, Permedia3) too! Most
|
||
of them supports software or hardware scaling, so you can enjoy movies in
|
||
fullscreen. <B>MPlayer</B> supports displaying through some hardware MPEG
|
||
decoder boards, such as the <B><A HREF="video.html#dvb">DVB</A></B> and
|
||
<B><A HREF="video.html#dxr3">DXR3/Hollywood+</A></B>! And what about the nice big antialiased
|
||
shaded subtitles (<B>10 supported types!!!</B>) with european/ISO 8859-1,2
|
||
(Hungarian, English, Czech, etc), Cyrillic, Korean fonts, and the onscreen
|
||
display (OSD)?</P>
|
||
|
||
<P><B>MPlayer</B> is under GPL v2 license.</P>
|
||
|
||
<P>The 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 temporarily rebuild their indexes with the <CODE>-idx</CODE> option, or
|
||
permanently with <B>MEncoder</B>, thus enabling seeking!
|
||
As you see, stability and quality are the most important things,
|
||
but the speed is also amazing.</P>
|
||
|
||
|
||
<P><B><A NAME="history">1.2 History</A></B></P>
|
||
|
||
<P>This began a year ago...
|
||
I (A'rpi) have 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...</P>
|
||
|
||
<UL>
|
||
<LI><B>mpg12play v0.1-v0.3:</B> Sep 22-25, 2000<BR>
|
||
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.</LI>
|
||
<LI><B>mpg12play v0.5-v0.87:</B> Sep 28-Oct 20, 2000<BR>
|
||
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++!!!)</LI>
|
||
<LI><B>mpg12play v0.9-v0.95pre5:</B> Oct 21-Nov 2, 2000<BR>
|
||
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.</LI>
|
||
<LI><B>MPlayer v0.3-v0.9:</B> Nov 18-Dec 4, 2000<BR>
|
||
It was a pack of two programs: mpg12play v0.95pre6 and my new simple AVI
|
||
player 'avip' based on avifile's Win32 DLL loader.</LI>
|
||
<LI><B>MPlayer v0.10:</B> Jan 1, 2001<BR>
|
||
The MPEG and AVI player in a single binary!</LI>
|
||
<LI><B>MPlayer v0.11pre series:</B><BR>
|
||
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.</LI>
|
||
<LI><B>MPlayer v0.17a "The IdegCounter"</B> Apr 27, 2001<BR>
|
||
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.</LI>
|
||
<LI><B>MPlayer 0.18 "The BugCounter"</B> Jul 9, 2001<BR>
|
||
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!</LI>
|
||
<LI><B>MPlayer 0.50 "The Faszom(C)ounter"</B> Oct 8, 2001<BR>
|
||
Hmm. Release again. Tons of new features, beta GUI version, bugs fixed,
|
||
new vo and ao drivers, ported to many systems, including opensource DivX
|
||
codecs and much more. Try it!</LI>
|
||
<LI><B>MPlayer 0.60 "The RTFMCounter"</B> Jan 3, 2002<BR>
|
||
MOV/VIVO/RM/FLI/NUV fileformats support, native CRAM, Cinepak, ADPCM codecs,
|
||
and support for XAnim's binary codecs; DVD subtitles support, first
|
||
release of MEncoder, TV grabbing, cache, liba52, countless fixes.</LI>
|
||
<LI><B>MPlayer 0.90 "?"</B> Aug? ??, 2002</LI>
|
||
</UL>
|
||
|
||
|
||
<P><B><A NAME="installation">1.3 Installation</A></B></P>
|
||
|
||
<P>In this chapter I'll try to guide you through the compiling and
|
||
configuring process of <B>MPlayer</B>. It's not easy, but it won't necessarily
|
||
be hard. If you experience a different behavior than what I explain, please
|
||
search through this documentation and you'll find your answers. If you
|
||
see links, please follow them and read carefully what they contain. It
|
||
will take some time, but it DOES worth it.</P>
|
||
|
||
<P>You need a fairly recent system. On Linux, 2.4.x kernels are recommended.</P>
|
||
|
||
<P><B>SOFTWARE REQUIREMENTS</B><BR>
|
||
|
||
<UL>
|
||
<LI><B>binutils</B> - suggested version is <B>2.11.x</B> . This program is
|
||
responsible for generating MMX/3DNow!/etc instructions, thus very important.</LI>
|
||
<LI><B>gcc</B> - suggested versions are: <B>2.95.3</B>, <B>2.95.4</B> and <B>3.1</B>.
|
||
<B>NEVER</B> use 2.96 or 3.0.x !!! They generate faulty code for MPlayer.
|
||
If you decide to change gcc from 2.96, then don't decide in favor of 3.0.x
|
||
just because it's newer! Early releases of 3.0.x were even more buggy than
|
||
2.96. So downgrade to 2.95.x (downgrade libstdc++ too, other programs may
|
||
need it) or don't up/downgrade at all (but in this case, be prepared for
|
||
runtime problems). If you vote for 3.x.x, try to use the latest version,
|
||
early releases had various bugs, so be sure you use at least 3.1, it's
|
||
tested and working. Detailed information about gcc 2.96's bugs (that are
|
||
still NOT fixed, they have been WORKED AROUND in <B>MPlayer</B>!) can be
|
||
found <A HREF="users_against_developers.html">here</A> and in the
|
||
<A HREF="faq.html">FAQ</A>.</LI>
|
||
<LI><B>XFree86</B> - suggested version is <B>always the newest (4.2.0)</B>.
|
||
Normally, everyone wants this, as starting with XFree86 4.0.2, it contains
|
||
the <A HREF="video.html#xv">XVideo</A> extension (somewhere referred to
|
||
as <B>Xv</B>) which is needed to enable the hardware YUV acceleration (fast
|
||
image display) on cards that support it.<BR>
|
||
Make sure its <B>development package</B> is installed, too, otherwise
|
||
it won't work.<BR>
|
||
For some video cards you don't need XFree86. See list below.</LI>
|
||
<LI><B>make</B> - suggested version is <B>always the newest</B> (at least 3.79.x). This
|
||
usually isn't important.</LI>
|
||
<LI><B>SDL</B> - it's not mandatory, but can help in some cases (bad audio,
|
||
video cards that lag strangely with the xv driver). Always use the newest
|
||
(beginning from 1.2.x).</LI>
|
||
<LI><B>libjpeg</B> - optional JPEG decoder, used by -mf and some QT MOV files.
|
||
Useful for both <B>MPlayer</B> and <B>MEncoder</B> if you plan to work with jpeg files.</LI>
|
||
<LI><B>libpng</B> - recommended and default (M)PNG decoder. Required for GUI.
|
||
Useful for both <B>MPlayer</B> and <B>MEncoder</B>.</LI>
|
||
<LI><B>lame</B> - recommended, needed for encoding MP3 audio with MEncoder,
|
||
suggested version is <B>always the newest</B> (at least 3.90).</LI>
|
||
<LI><B>libogg</B> - optional, needed for playing OGG file format.</LI>
|
||
<LI><B>libvorbis</B> - optional, needed for playing OGG Vorbis audio.</LI>
|
||
</UL>
|
||
|
||
<P><B>CODECS</B></P>
|
||
|
||
<UL>
|
||
<LI><B>libavcodec</B>: This codec package is capable of decoding
|
||
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 encoded video streams, on
|
||
multiple platforms. It is also known to be the fastest for this task.
|
||
Details can be found <A HREF="codecs.html#libavcodec">here</A>. Features:<BR>
|
||
<UL>
|
||
<LI>gain decoding of videos mentioned above, on non-x86 machines</LI>
|
||
<LI>encoding with most of the mentioned codecs</LI>
|
||
<LI>this codec is the <B>fastest codec available</B> for DivX/3/4/5 and
|
||
other MPEG4 types. Recommended!</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B>Win32 codecs</B>: If you plan to use <B>MPlayer</B> on x86
|
||
architecture, you will possibly need them. Download and unzip w32codecs.zip
|
||
to /usr/lib/win32 <B>BEFORE</B> compiling <B>MPlayer</B>, otherwise no Win32
|
||
support will be compiled!<BR>
|
||
<B>Note</B>: the avifile project has similar codecs package, but it differs
|
||
from ours, so if you want to use all supported codecs, then use our package!
|
||
However, you can use our codecs package with avifile. Features:<BR>
|
||
<UL>
|
||
<LI>you need this if you want to play or encode for example movies recorded
|
||
with various hardware compressors, like tuner cards, digital cameras
|
||
(example: DV, ATI VCR, MJPEG)</LI>
|
||
<LI>needed if you want to play <B>WMV8 movies</B>. Not needed for old
|
||
ASF's with MP41 or MP42 video (though VoxWare audio is frequent for these
|
||
files - it's done by the Win32 codec), or WMV7.</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B>DivX4/DivX5</B>: information about this codec is available in the
|
||
<A HREF="codecs.html#divx">DivX4/DivX5</A> section. You possibly don't want
|
||
this codec as <B>libavcodec</B> (see above) is much faster and has better
|
||
quality than this, for both decoding and encoding.<BR>
|
||
Features:
|
||
<UL>
|
||
<LI>1 pass or 2 pass encoding with
|
||
<A HREF="encoding.html">MEncoder</A></LI>
|
||
<LI>can play old <B>DivX3</B> movies much faster than the Win32 DLL but
|
||
slower than <B>libavcodec</B>!</LI>
|
||
<LI>it's closed-source, and only an x86 version is available.</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B>XviD</B>: Open source encoding alternative to Divx4Linux<BR>
|
||
Features:
|
||
<UL>
|
||
<LI>1 pass or 2 pass encoding with
|
||
<A HREF="encoding.html">MEncoder</A></LI>
|
||
<LI>it's open-source, so it's multiplatform.</LI>
|
||
<LI>it's about 2 times faster than DivX4 when encoding - about the same
|
||
quality</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>The <A HREF="codecs.html#xanim">XAnim codecs</A> are the best (full
|
||
screen, hardware YUV zoom) for decoding <B>3ivx</B> and Indeo 3/4/5 movies,
|
||
and some old formats. And they are multiplatform, so this is the only way to
|
||
play Indeo on non-x86 platforms (well, apart from using XAnim:). But for
|
||
example Cinepak movies are best played with <B>MPlayer</B>'s own Cinepak
|
||
decoder!</LI>
|
||
<LI>For <B>Ogg Vorbis</B> audio decoding you need to install
|
||
<CODE>libvorbis</CODE> properly. Use deb/rpm packages if available, or
|
||
compile from
|
||
<A HREF="http://ogg.org/ogg/vorbis/download/vorbis_nightly_cvs.tgz">source</A>
|
||
(this is a nightly updated tarball of Vorbis CVS).</LI>
|
||
<LI><B>MPlayer</B> can use the libraries of RealPlayer 8 or RealONE to play
|
||
files with <B>RealVideo 2.0 and 3.0</B> video, and Sipro/Cook audio. See
|
||
<A HREF="formats.html#real">RealMedia file format</A> section for
|
||
installation instructions and more information!</LI>
|
||
</UL>
|
||
|
||
<P><B>VIDEO CARDS</B></P>
|
||
|
||
<P>There are generally two kind of video cards. One kind (the newer cards) has
|
||
<B>hardware scaling and YUV acceleration</B> support, the other cards don't.</P>
|
||
|
||
<P><B>YUV cards</B></P>
|
||
|
||
<P>They can display and scale (zoom) the picture to any size that fits in
|
||
their memory, with <B>small CPU usage</B> (zooming doesn't increase it!), thus
|
||
you get a nice and very fast fullscreen playing.</P>
|
||
|
||
<UL>
|
||
<LI><B>Matrox G200/G400/G450/G550 cards</B>: although a
|
||
<A HREF="video.html#vidix">Vidix driver</A> is provided, it is recommended
|
||
to use the old mga_vid kernel module instead, for it works much better.
|
||
Please see the <A HREF="video.html#mga_vid">mga_vid</A> section about its
|
||
installation and usage. It is important to do these steps <I>before</I>
|
||
compiling <B>MPlayer</B>, otherwise no mga_vid support will be built. Also
|
||
check out the <A HREF="video.html#tv-out_matrox">Matrox TV-out</A> section.
|
||
<U><B>If you are non-Linux user</B></U>, your only possibility is the Vidix
|
||
driver: read <A HREF="video.html#vidix">VIDIX</A> documentation!</LI>
|
||
<LI><B>3Dfx Voodoo3/Banshee cards</B>: please see the
|
||
<A HREF="video.html#tdfxfb">tdfxfb</A> section in order to gain big
|
||
speedup. It is important to do these steps <I>before</I> compiling
|
||
<B>MPlayer</B>, otherwise no 3Dfx support will be built. Also see the <A
|
||
HREF="video.html#tv-out_voodoo">3dfx TV-out section</A>. If you use X, use at
|
||
least 4.2.0, as 3dfx Xv driver was broken in 4.1.0, and earlier
|
||
releases!</LI>
|
||
<LI><B>ATI cards</B>: <A HREF="video.html#vidix">Vidix driver</A> is
|
||
provided for the following cards:
|
||
<B>Radeon</B>, <B>Rage128</B>, <B>Mach64</B> (Rage XL/Mobility, Xpert98).
|
||
Also see the <A HREF="video.html#tv-out_ati">ATI cards
|
||
section</A> of the TV-out documentation, to know if you card's TV-out is
|
||
supported under Linux/MPlayer.</LI>
|
||
<LI><B>S3 cards</B>: the Savage and Virge/DX chips have hardware acceleration.
|
||
Use as new XFree86 version as possible, older drivers are buggy. Savage chips
|
||
have problems with YV12 display, see <A HREF="video.html#xv_s3">S3 Xv
|
||
section</A> for details. Older, Trio cards have no, or slow hardware
|
||
support.</LI>
|
||
<LI><B>nVidia cards</B>: very bad choice for video playing (nVidia has
|
||
<A HREF="users_against_developers.html#nvidia">different opinion</A>!).
|
||
nVidia's cards have very cheap and bad quality chips. Moreover, <U>the
|
||
built-in nVidia driver in XFree86 doesn't contain support for hardware YUV
|
||
acceleration for all nVidia cards!</U> You have to download nVidia's
|
||
closed-source drivers from nVidia.com. See details in <A
|
||
HREF="video.html#xv_nvidia">nVidia Xv driver</A> section.</LI>
|
||
<LI><B>3DLabs GLINT R3 and Permedia3</B>: a VIDIX driver is provided
|
||
(pm3_vid). Please see the <A HREF="video.html#vidix">VIDIX
|
||
instructions</A>.</LI>
|
||
<LI><B>other cards</B>: none of the above?
|
||
<UL>
|
||
<LI>Try if the XFree86 driver (and your card) supports hardware
|
||
acceleration. See the <A HREF="video.html#xv">Xv section</A> for
|
||
details.</LI>
|
||
<LI>If it doesn't, then your card's video features aren't supported under
|
||
your OS :(<BR>
|
||
If it does hardware scaling under Windows, it doesn't mean it will do the
|
||
same under Linux or other OS, it depends on the drivers! Most
|
||
manufacturers don't make Linux drivers nor release chip specs - so you're
|
||
unlucky using their cards. See the next section:</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
|
||
<P><B>Non-YUV cards</B></P>
|
||
|
||
<P>Fullscreen playing can be achieved by either zooming <B>by software</B> (use
|
||
the option <CODE>-zoom</CODE> or <A HREF="#2.6.11"><CODE>-vop
|
||
scale</CODE></A>, but I warn you: this is SLOW!), or changing to a smaller
|
||
video mode, for example to 352x288. If you don't have YUV acceleration, this
|
||
latter method is the recommended one. Throughout <B>MPlayer</B>, <U>this
|
||
behavior can be switched on by using the <CODE>-vm</CODE> option</U> and with
|
||
the following drivers:</P>
|
||
|
||
<UL>
|
||
<LI><B>using</B> XFree86: see details in
|
||
<A HREF="video.html#dga">DGA driver</A> and
|
||
<A HREF="video.html#x11">X11 driver</A> sections. DGA is
|
||
recommended! Also try DGA via SDL, sometimes it's better.</LI>
|
||
<LI><B>not using</B> XFree86: try the drivers in the following order:
|
||
<A HREF="video.html#vesa">vesa</A>,
|
||
<A HREF="video.html#fbdev">fbdev</A>,
|
||
<A HREF="video.html#svgalib">svgalib</A>,
|
||
<A HREF="video.html#aalib">aalib</A>.</LI>
|
||
</UL>
|
||
|
||
<P>Some cards:</P>
|
||
|
||
<UL>
|
||
<LI><B>Cirrus Logic cards</B>:
|
||
<UL>
|
||
<LI>GD 7548: present on-board and tested in Compaq Armada 41xx notebook
|
||
series.
|
||
<UL>
|
||
<LI>XFree86 3: works in 8/16bpp modes. However, the driver is
|
||
dramatically slow and buggy in 800x600@16bpp
|
||
<B>Recommended: 640x480@16bpp</B></LI>
|
||
<LI>XFree86 4: the Xserver freezes soon after start unless
|
||
acceleration is disabled, but then the whole thing gets
|
||
slower than XFree86 3. No XVideo.</LI>
|
||
<LI>FBdev: the card is only VBE 1.2 capable, so VESA framebuffer
|
||
can't be used. When tried to workaround with UniVBE, the
|
||
framebuffer was unusably full of debris.</LI>
|
||
<LI>VESA: the card is only VBE 1.2 capable, so VESA output can't be
|
||
used. Can't be workarounded with UniVBE.</LI>
|
||
<LI>SVGAlib: detects an older Cirrus chip. Usable but slow with
|
||
<CODE>-bpp 8</CODE>.</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
|
||
|
||
<P><B>SOUND CARDS</B></P>
|
||
|
||
<UL>
|
||
<LI><B>Soundblaster Live!</B>: with this card you can use 4 or 6 (<B>5.1</B>)
|
||
channels AC3 decoding instead of 2. Read the
|
||
<A HREF="codecs.html#software_ac3">Software AC3 decoding</A> section.
|
||
For hardware AC3 passthrough you MUST use ALSA 0.9 oss emulation!</LI>
|
||
<LI><B>C-Media with SP/DIF out</B>: hardware AC3 passthrough is possible
|
||
with these cards, see
|
||
<A HREF="codecs.html#hardware_ac3">Hardware AC3 decoding</A> section.</LI>
|
||
<LI><B>other cards'</B> features aren't supported by <B>MPlayer</B>.
|
||
<U>It's very recommended to read the <A HREF="sound.html">sound card
|
||
section</A>!</U></LI>
|
||
</UL>
|
||
|
||
<P><B>FEATURES</B></P>
|
||
|
||
<UL>
|
||
<LI>Decide if you need GUI. If you do, see the <A HREF="#gui">GUI section</A>
|
||
before compiling.</LI>
|
||
<LI>If you want to install <B>MEncoder</B> (our great all-purpose encoder),
|
||
see the <A HREF="encoding.html">MEncoder section</A>.</LI>
|
||
<LI>If you have a V4L compatible <B>TV tuner</B> card, and wish to watch/grab
|
||
and encode movies with <B>MPlayer</B>, read the <A HREF="#tv">TV input</A>
|
||
section.</LI>
|
||
</UL>
|
||
|
||
<P>Then build <B>MPlayer</B>:</P>
|
||
|
||
<PRE>
|
||
./configure
|
||
make
|
||
make install
|
||
</PRE>
|
||
|
||
<P>At this point, <B>MPlayer</B> is ready to use. The directory
|
||
<CODE>$PREFIX/share/mplayer</CODE> contains the <CODE>codecs.conf</CODE>
|
||
file, which is used to tell the program all the codecs and their
|
||
capabilities. This file should always be kept uptodate together with the
|
||
main binary!<BR> Check if you have codecs.conf in your home directory
|
||
(~/.mplayer/codecs.conf) left from old MPlayer versions, and remove it!</P>
|
||
|
||
<P><B>Debian users</B> can build a .deb package for themselves, it's very
|
||
simple. Just exec <CODE>fakeroot debian/rules binary</CODE> in
|
||
<B>MPlayer</B>'s root dir. Detailed instructions can be found
|
||
<A HREF="documentation.html#debian">here</A>.</P>
|
||
|
||
<P><B>ALWAYS browse the output of <CODE>./configure</CODE></B>, and the
|
||
<CODE>configure.log</CODE> file, they contain information about what will be
|
||
built, and what will not. You may also want to view <CODE>config.h</CODE> and
|
||
<CODE>config.mak</CODE> files.<BR>
|
||
If you have some libraries installed, but not detected by
|
||
<CODE>./configure</CODE>, then check if you also have the proper header files
|
||
(usually the -dev packages) and their version matches. The
|
||
<CODE>configure.log</CODE> file usually tells you what is missing.</P>
|
||
|
||
<P>Though not mandatory, the fonts should be installed in order to gain OSD,
|
||
and subtitle functionality. Download <CODE>mp-arial-iso-8859-*.zip</CODE>
|
||
and/or optional (if exists) language updates. It's VERY RECOMMENDED to check
|
||
section <A HREF="#subtitles_osd">1.5</A> for details.</P>
|
||
|
||
<PRE>
|
||
mkdir ~/.mplayer/font
|
||
cd ~/.mplayer/font
|
||
unzip mp-arial-iso-8859-1.zip
|
||
ln -s ~/.mplayer/font/arial-24 font
|
||
</PRE>
|
||
|
||
|
||
<P><B><A NAME="gui">1.4 What about the GUI?</A></B></P>
|
||
|
||
<P>The GUI needs GTK (it isn't GTK, but the panels are). The skins are stored
|
||
in PNG format, so gtk, libpng (and their devel stuff) has to be installed.
|
||
You can build it by specifying <CODE>--enable-gui</CODE> during
|
||
<CODE>./configure</CODE>. Then, to turn on GUI mode, you either</P>
|
||
<UL>
|
||
<LI>use the <CODE>-gui</CODE> option</LI>
|
||
<LI>specify <CODE>gui=yes</CODE> in your config file</LI>
|
||
<LI><CODE>ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer</CODE> ,
|
||
and call <CODE>gmplayer</CODE> instead.</LI>
|
||
</UL>
|
||
|
||
<P>HINT: use the middle button (on 2 button mice press left and right
|
||
simultaneously) for a popup GTK menu, with DVD playing option!</P>
|
||
|
||
<P>As <B>MPlayer</B> doesn't have a skin included, you have to download them if
|
||
you want to use the GUI. See the
|
||
<A HREF="http://www.mplayerhq.hu/homepage/dload.html">download page</A>.
|
||
They should be extracted to the usual system-wide directory
|
||
(<CODE>$PREFIX/share/mplayer/Skin</CODE>), or to
|
||
<CODE>$HOME/.mplayer/Skin</CODE>. <B>MPlayer</B> by default looks in these
|
||
directories for a directory named <I>default</I>, but you can use the
|
||
<CODE>-skin newskin</CODE> option, or the <CODE>skin=newskin</CODE> config
|
||
file directive to use the skin in <CODE>*/Skin/newskin</CODE> directory.</P>
|
||
|
||
|
||
<P><B><A NAME="subtitles_osd">1.5 Subtitles and OSD</A></B></P>
|
||
|
||
<P>
|
||
<B>MPlayer</B> can display subtitles along with movie files. Currently the following
|
||
formats are supported:</P>
|
||
<UL>
|
||
<LI>VobSub</LI>
|
||
<LI>Microdvd</LI>
|
||
<LI>SubRip</LI>
|
||
<LI>SubViewer</LI>
|
||
<LI>Sami</LI>
|
||
<LI>VPlayer</LI>
|
||
<LI>RT</LI>
|
||
<LI>SSA</LI>
|
||
<LI>MPsub</LI>
|
||
<LI>AQTitle</LI>
|
||
</UL>
|
||
|
||
The command line options differ slightly for the different formats:
|
||
|
||
<P><B>VobSub subtitles</B><BR>
|
||
VobSub subtitles consist of a big (some megabytes) .SUB file, and optional
|
||
.IDX and/or .IFO files.<BR>
|
||
Usage: if you have files like <CODE>sample.sub</CODE>,
|
||
<CODE>sample.ifo</CODE>, <CODE>sample.idx</CODE> - you have to pass the
|
||
<CODE>-vobsub sample -vobsubid
|
||
<id></CODE> options (optionally with pathname, of course). The
|
||
<CODE>-vobsubid</CODE> option is like <CODE>-sid</CODE> for DVDs, you can
|
||
choose between subtitle tracks (languages) with it.</P>
|
||
|
||
<P><B>Other subtitles</B><BR>
|
||
The other formats consist of a single text file containing timing, placement
|
||
and text information.<BR>
|
||
Usage: if you have a file like <CODE>sample.txt</CODE>, you have to pass the
|
||
option <CODE>-sub sample.txt</CODE> (optionally with pathname, of course).</P>
|
||
|
||
<P><B>Adjusting subtitle timing and placement</B><BR>
|
||
<CODE>-subdelay <sec></CODE>: Delays subtitles by <sec> seconds.
|
||
Can be negative.<BR>
|
||
<CODE>-subfps <rate></CODE>: Specify frame/sec rate of subtitle file
|
||
(float number)<BR>
|
||
<CODE>-subpos <0 - 100></CODE>: Specify the position of subtitles.</P>
|
||
|
||
<P>If you experience a growing delay between the movie and the subtitles when
|
||
using a MicroDVD subtitle file, most likely the frame rate of the movie and
|
||
the subtitle file are different.<BR> Please note that the MicroDVD subtitle
|
||
format uses absolute frame numbers for its timing, and therefore the
|
||
<CODE>-subfps</CODE> option cannot be used with this format. As
|
||
<B>MPlayer</B> has no way to guess the frame rate of the subtitle file, you
|
||
have to manually convert the frame rate. There is a little perl script in the
|
||
<CODE>contrib</CODE> directory of the MPlayer FTP site to do this conversion
|
||
for you.</P>
|
||
|
||
<P>About DVD subtitles, read the <A HREF="cd-dvd.html#dvd">DVD section</A>.</P>
|
||
|
||
<P><B>MPlayer</B> introduces a new subtitle format called <B>MPsub</B>. It was
|
||
designed by me (Gabucino). Basically its main feature is being
|
||
<I>dynamically</I> time-based (although it has frame-based mode too). Example
|
||
(from
|
||
<A HREF="tech/mpsub.sub">DOCS/tech/mpsub.sub</A>):</P>
|
||
|
||
<P><CODE><I># first number : wait this much after previous subtitle disappeared<BR>
|
||
# second number : display the current subtitle for this many seconds<BR>
|
||
<BR>
|
||
15 3<BR>
|
||
A long long, time ago...<BR>
|
||
<BR>
|
||
0 3<BR>
|
||
in a galaxy far away...<BR>
|
||
<BR>
|
||
0 3<BR>
|
||
Naboo was under an attack.<BR></I></CODE></P>
|
||
|
||
<P>So you see, the main goal was to <B>make subtitle
|
||
editing/timing/joining/cutting easy</B>. And, if you - say - get an SSA
|
||
subtitle but it's badly timed/delayed to your version of the movie, you
|
||
simply do a <CODE>mplayer dummy.avi -sub source.ssa -dumpmpsub</CODE>.
|
||
A <CODE>dump.mpsub</CODE> file will be created in the current directory,
|
||
which will contain the source subtitle's text, but in <B>MPsub</B> format.
|
||
Then you can freely add/subtract seconds to/from the subtitle.</P>
|
||
|
||
<P>Subtitles are displayed with a technique called <B>'OSD', On Screen
|
||
Display</B>. OSD is used to display current time, volume bar, seek bar
|
||
etc.</P>
|
||
|
||
<P><B>INSTALLING OSD and SUB</B></P>
|
||
|
||
<P>You need an <B>MPlayer</B> font package to be able to use OSD/SUB feature.
|
||
There are many ways to get it:</P>
|
||
|
||
<UL>
|
||
<LI>download ready-to-use font packages from <B>MPlayer</B> site.
|
||
Note: currently available fonts are limited for iso 8859-1/2 support,
|
||
but there are some other (including Korean, Russian, 8859-8 etc) fonts
|
||
at contrib/font section of FTP, made by users.<BR>
|
||
<BR>
|
||
Font should have appropriate font.desc file which maps unicode font
|
||
positions to the actual code page of the subtitles text. Other solution is
|
||
to have subtitles encoded in utf8 encoding and use <CODE>-utf8</CODE>
|
||
option or just name the subtitles file <video_name>.utf and have it
|
||
in the same dir as the video file. Recoding from different codepages to
|
||
utf8 could be done by using konwert (Debian) or iconv (Red Hat)
|
||
programs.<BR>
|
||
Some URLs:
|
||
<UL>
|
||
<LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/releases/">ftp://ftp.mplayerhq.hu/MPlayer/releases/</A> - ISO fonts</LI>
|
||
<LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/">ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/</A> - various fonts by users</LI>
|
||
<LI><A HREF="http://realtime.ssu.ac.kr/~lethean/mplayer">http://realtime.ssu.ac.kr/~lethean/mplayer</A> - Korean fonts & RAW plugin</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>use the font generator tool at TOOLS/subfont-c
|
||
It's a complete tool to convert from TTF/Type1/etc font to mplayer font pkg.
|
||
(read TOOLS/subfont-c/README for details)</LI>
|
||
<LI>use the font generator GIMP plugin at TOOLS/subfont-GIMP
|
||
(note: you must have HSI RAW plugin too, see URL below)</LI>
|
||
</UL>
|
||
|
||
<P>After that, UNZIP the file you downloaded to <CODE>~/.mplayer</CODE> or
|
||
<CODE>$PREFIX/share/mplayer</CODE>. Then rename or symlink one of them to
|
||
<CODE>font</CODE> (like: <CODE>ln -s ~/.mplayer/arial-24
|
||
~/.mplayer/font</CODE>). Now you have to see a timer at the upper left corner
|
||
of the movie (switch it off with the "o" key).</P>
|
||
|
||
<P>OSD has 3 states: (switch with 'o')</P>
|
||
|
||
<UL>
|
||
<LI>timer + volume bar + seek bar + subtitles (default)</LI>
|
||
<LI>volume bar + seek bar + subtitles</LI>
|
||
<LI>subtitles only</LI>
|
||
</UL>
|
||
|
||
<P>You can change default behaviour by setting <CODE>osdlevel=</CODE> variable
|
||
in config file.</P>
|
||
|
||
|
||
<P><B><A NAME="rtc">1.6 RTC</A></B></P>
|
||
|
||
There are three timing methods in <B>MPlayer</B>.
|
||
|
||
<UL>
|
||
<LI><B>To use the old method</B>, you don't have to do anything. It uses
|
||
<CODE>usleep()</CODE> to tune A/V sync, with +/- 10ms accuracy. However
|
||
sometimes the sync has to be tuned even finer.</LI>
|
||
<LI><B>The new timer</B> code uses PC's RTC (Real Time Clock) for this task,
|
||
because it has precise 1ms timers. It is automagically enabled when
|
||
available, but requires root privileges, a <I>setuid root</I>
|
||
<B>MPlayer</B> binary or a properly set up kernel.
|
||
<BR>
|
||
If you are running kernel 2.4.19pre8 or later you can adjust the maximum
|
||
RTC frequency for normal users through the <CODE>/proc</CODE> filesystem.
|
||
Use this command to enable RTC for normal users:
|
||
<P>
|
||
<CODE>echo 1024 > /proc/sys/dev/rtc/max-user-freq</CODE>
|
||
</P>
|
||
If you do not have such a new kernel, you can also change one line in
|
||
<CODE>drivers/char/rtc.c</CODE> and recompile your kernel. Find the
|
||
section that reads
|
||
<PRE>
|
||
* We don't really want Joe User enabling more
|
||
* than 64Hz of interrupts on a multi-user machine.
|
||
*/
|
||
if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
|
||
</PRE>
|
||
and change the 64 to 1024. You should really know what you are doing, though.
|
||
<BR>
|
||
You can see the new timer's efficiency in the status line.
|
||
<BR>
|
||
The power management functions of some notebook BIOSes with speedstep CPUs
|
||
interact badly with RTC. Audio and video may get out of sync. Plugging the
|
||
external power connector in before you power up your notebook seems to help.
|
||
You can always turn off RTC support with the <CODE>-nortc</CODE> switch.
|
||
In some hardware combinations (confirmed during usage of non-DMA DVD
|
||
drive on an ALi1541 board) usage of the RTC timer causes skippy playback.
|
||
It's recommended to use the third method in these cases.</LI>
|
||
<LI><B>The third timer code</B> is turned on with the <CODE>-softsleep</CODE>
|
||
option. It has the efficiency of the RTC, but it doesn't use RTC. On the other
|
||
hand, it requires more CPU.</LI>
|
||
</UL>
|
||
|
||
<B>Note:</B> <B>NEVER install a setuid root MPlayer binary on a multiuser system!</B>
|
||
It's a clear way for everyone to become root.
|
||
|
||
|
||
|
||
<P><B><A NAME="features">2. Features</A></B></P>
|
||
|
||
|
||
<P><A NAME="formats">2.1</A> <A HREF="formats.html">Supported formats</A></P>
|
||
|
||
|
||
<P><A NAME="codecs">2.2</A> <A HREF="codecs.html">Supported codecs</A></P>
|
||
|
||
|
||
<P><A NAME="output">2.3</A> <A HREF="video.html">Video</A> & <A HREF="sound.html">Audio</A> output devices</P>
|
||
|
||
|
||
<P><A NAME="encoding">2.4</A> <A HREF="encoding.html">MEncoder - An All-Purpose Encoder</A></P>
|
||
|
||
|
||
<P><A NAME="tv"><B>2.5 TV input</B></A></P>
|
||
|
||
|
||
<P><A NAME="tv_overview"><B>2.5.1 Overview</B></A></P>
|
||
|
||
<P>This section is about how to enable <B>watching/grabbing from V4L compatible
|
||
TV tuner</B>.</P>
|
||
|
||
<P><B>THIS CODE IS CURRENTLY NOT BEING WORKED ON! Do not expect it to work
|
||
without tweaking/experimenting!</B></P>
|
||
|
||
|
||
<P><A NAME="tv_compilation"><B>2.5.2 Compilation</B></A></P>
|
||
|
||
<UL>
|
||
<LI>First, you have to recompile. <CODE>./configure</CODE> will autodetect
|
||
kernel headers of v4l stuff and the existence of <CODE>/dev/video*</CODE>
|
||
entries. If they exist, TV support will be built (see the output of
|
||
<CODE>./configure</CODE>).</LI>
|
||
<LI>Make sure your tuner works with another TV software in Linux, for example
|
||
xawtv.</LI>
|
||
</UL>
|
||
|
||
<P><B>Hint:</B> Are the colors messed up? Then your tuner cannot display
|
||
in YV12 colorspace. Try I420 (<CODE>-vc rawi420</CODE>) or YUY2, UYVY, RGB32
|
||
(<CODE>-vo sdl</CODE>) colorspaces.
|
||
You can specify these with the <CODE>outfmt=YV12</CODE> option, see below.</P>
|
||
|
||
|
||
<P><A NAME="tv_options"><B>2.5.3 Available options</B></A></P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>on</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Use TV input.</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>noaudio</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>No sound, thanks.</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>driver</CODE></TD>
|
||
<TD></TD>
|
||
<TD> <B>dummy</B> - NULL TV input :) Used for testing only, generates dummy
|
||
input.<BR>
|
||
<B>v4l</B> - Captures images from standard V4L interface (default
|
||
<CODE>/dev/video0</CODE>).</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>device</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Specify a device other than the default <CODE>/dev/video0</CODE>.</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>input</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Specify from which input of the TV tuner you wish to grab
|
||
(e.g. <B>television</B>, <B>s-video</B>, <B>composite</B>, ...)<BR>
|
||
Prints the available ones during init.</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>freq</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Specify the frequency to set the tuner to (e.g. <B>511.250</B>).</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>outfmt</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Specify the output format the tuner should use to transport images to us
|
||
(<B>rgb32</B>, <B>rgb24</B>, <B>yv12</B>, <B>uyvy</B>, <B>i420</B> (for i420
|
||
you have to pass the <CODE>-vc rawi420</CODE> option, because of a fourcc
|
||
conflict)).</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>width</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>width of the output window in pixels</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>height</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>height of the output window in pixels</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>norm</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>available: PAL, SECAM, NTSC</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>channel</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>Set the tuner to the given channel.</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD> </TD>
|
||
<TD VALIGN="top"><CODE>chanlist</CODE></TD>
|
||
<TD> </TD>
|
||
<TD>available: <CODE>us-bcast, us-cable, europe-west, europe-east, etc</CODE></TD>
|
||
</TR>
|
||
</TABLE>
|
||
|
||
|
||
<P><A NAME="tv_keyboard"><B>2.5.4 Keyboard control</B></A></P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR><TD> </TD><TD>h / k</TD><TD> </TD><TD>select previous/next channel</TD></TR>
|
||
<TR><TD></TD><TD>n</TD><TD></TD><TD>change norm</TD></TR>
|
||
<TR><TD></TD><TD>b</TD><TD></TD><TD>change channel list</TD></TR>
|
||
</TABLE>
|
||
|
||
|
||
<P><A NAME="tv_examples"><B>2.5.5 Examples</B></A></P>
|
||
|
||
<P>Dummy output, to AAlib :)<BR>
|
||
<CODE> mplayer -tv on:driver=dummy:width=640:height=480 -vo aa</CODE><BR>
|
||
<BR>
|
||
Input from standard V4L<BR>
|
||
<CODE> mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv</CODE><BR></P>
|
||
|
||
<P><B>Note:</B><BR>
|
||
If you have a TV card with an external audio device and get only a black
|
||
screen, although input works with xawtv or similar, then try to use the
|
||
<CODE>-noaudio</CODE> option. For the example above this would be:<BR>
|
||
<CODE> mplayer -tv on:noaudio:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters"><B>2.6 filters</B></A></P>
|
||
|
||
|
||
<P><A NAME="filters_overview"><B>2.6.1 Overview</B></A></P>
|
||
|
||
<P>Both <B>MPlayer</B> and <B>MEncoder</B> support using a universal
|
||
video filter layer, which comprises numerous plugins that are listed and
|
||
explained below. These plugins can perform various actions on the image,
|
||
such as rescaling, cropping black borders (useful not only for encoding but
|
||
for playback, too, since black borders increase bus usage and cropping these
|
||
can boost playback speed on slow boards) and expanding the image (for SVCDs).</P>
|
||
|
||
<P>With this filter layer it's possible to perform fast image format conversion
|
||
between the various RGB and YUV formats when necessary. This enables for
|
||
example playing RGB data on <CODE>xv</CODE> and <CODE>xmga</CODE> video output
|
||
drivers among other things (see the <A HREF="#filters_scale">Scale</A> filter).</P>
|
||
|
||
<P>The filter layer also does <B>Direct Rendering</B> between the plugins, to
|
||
maximize the speed.
|
||
|
||
<P>Note that the postprocessing code is now also a part of the layer. It
|
||
will be explained below.</P>
|
||
|
||
|
||
<P><A NAME="filters_usage"><B>2.6.2 Usage</B></A></P>
|
||
|
||
<P><CODE> mplayer/mencoder -vop filter1,filter2,filter3,...</CODE>
|
||
</P>
|
||
|
||
<P>This sets up a filter pipeline (you can use any number of filters). Their
|
||
parameters are optional and if omitted, some of them are set to default
|
||
values, e.g. <CODE>x</CODE> and <CODE>y</CODE> are both set to the center of
|
||
the screen and <CODE>width</CODE> and <CODE>height</CODE>> will be set to
|
||
the width and height of the movie.</P>
|
||
|
||
<P>Filters are queued starting from libvo, so <CODE>filter1</CODE> will be the
|
||
last filter called (after that comes libvo, or when using <B>MEncoder</B>,
|
||
encoding).</P>
|
||
|
||
<P>You can get the list of available video filters with the command</P>
|
||
|
||
<P> <CODE>mplayer -vop help</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_crop"><B>2.6.3 Crop</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Crops the given part of the image and discards the rest. Useful for removing
|
||
black bands from widescreen movies.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop crop[=width:height:x:y]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_expand"><B>2.6.4 Expand</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Expands (<B>not</B> scales) movie resolution to the given value and places
|
||
the unscaled original at coordinates <CODE>x</CODE> <CODE>y</CODE>. For movies
|
||
not containing black bands, this can be used to add them. This is good when
|
||
creating SVCDs or for placing subtitles or the OSD in these bands.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop expand[=width:height:x:y]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_fame"><B>2.6.5 Fame/Lavc</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Realtime MPEG1 encoder (using libfame or libavcodec) (for use with
|
||
DVB/DXR3).</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop fame</CODE></P>
|
||
|
||
<P><CODE> -vop lavc</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_flip"><B>2.6.6 Flip</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Simply flips the image upside down. Useful for some old codecs which can only
|
||
output a flipped image (these are autodetected).</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop flip</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_format"><B>2.6.7 Format</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>This filter is <B>not</B> an image format converter. It just forces the next
|
||
filter (or libvo) to use the given format. Useful for cards with slow YV12,
|
||
like tdfx and Savage4. For real conversion, use the scale filter.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop format[=format]</CODE> (where
|
||
<CODE>format</CODE> can be for example: rgb32, yuy2, etc...)</P>
|
||
|
||
|
||
<P><A NAME="filters_postprocess"><B>2.6.8 Postprocess</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>This is our good old postprocess, just converted to the filter layer.
|
||
Performs image quality enhancement, deinterlacing, etc, see
|
||
<CODE>-npp help</CODE> for available options.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop pp[=postprocess options/keywords]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_rgb2bgr"><B>2.6.9 RGB2BGR</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Performs RGB 24/32 <-> BGR 24/32 colorspace conversion (default behavior)
|
||
or RGB 24/32 <-> RGB 24/32 conversion with R<->B swapping (with the 'swap'
|
||
option).</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop rgb2bgr[=swap]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_rotate"><B>2.6.10 Rotate</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Rotates (flips) the image. The parameter <CODE>x</CODE> (values: 0-3)
|
||
controls horizontal and vertical mirroring.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop rotate[=x]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_scale"><B>2.6.11 Scale</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Scales the image with the software scaler (slow). You can adjust the
|
||
quality of the scaler with the <CODE>-sws</CODE> option, see the man page.
|
||
Nice quality implies speed loss.</P>
|
||
|
||
<P><B>Note:</B> Calling this filter with no options means <B>colorspace
|
||
conversion</B>! This is useful for codecs which can't output in the needed
|
||
format for the specified video output device. These are hopefully
|
||
autodetected and scale filter is called to convert. In other cases, you
|
||
can use it manually.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop scale[=width:height]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_yuy2"><B>2.6.12 YUY2</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Forced software YV12/I420 to YUY2 conversion.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop yuy2</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_mirror"><B>2.6.13 Mirror</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Flips the image on Y axis.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop mirror</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_dvbscale"><B>2.6.14 DVBscale</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Calculates Y scaling for DVB card.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop dvbscale</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_cropdetect"><B>2.6.15 Cropdetect</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Calculates necessary cropping parameters. It will print the recommended
|
||
<CODE>-vop crop</CODE> parameters to stdout. You can adjust the threshold of
|
||
what is detected as border and what as picture with the <CODE>limit</CODE>
|
||
parameter. <CODE>limit</CODE> is a number from 0 to 255 that defaults to 24.
|
||
At 0 it detects everything as picture, at 255 everything as border.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop cropdetect[=limit]</CODE></P>
|
||
|
||
|
||
<P><A NAME="filters_rectangle"><B>2.6.16 Rectangle</B></A></P>
|
||
|
||
<P><B><U>Description</U></B>:</P>
|
||
|
||
<P>Draws a white rectangle of the requested width and height at the designated
|
||
coordinates over the image. Useful to get visual feedback for the parameters
|
||
of <CODE>-vop crop</CODE> before applying them.</P>
|
||
|
||
<P><B><U>Usage</U></B>:</P>
|
||
|
||
<P><CODE> -vop rectangle[=width:height:x:y]</CODE></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="usage">3. Usage</A></B></P>
|
||
|
||
|
||
<P><B><A NAME="command_line">3.1 Command line</A></B></P>
|
||
|
||
<P><B>MPlayer</B> utilizes a complex playtree. It consists of global options
|
||
written as first (for example <CODE>mplayer -vfm 5</CODE>), and options
|
||
written after filenames, that apply only to the given filename/URL/whatever
|
||
(for example <CODE>mplayer -vfm 5 movie1.avi movie2.avi -vfm 4</CODE>).<BR>
|
||
You can group filenames/URLs together using { and }. It's useful with
|
||
option -loop: <CODE>mplayer { 1.avi -loop 2 2.avi } -loop 3</CODE>
|
||
will play files in this order: 1 1 2 1 1 2 1 1 2<BR>
|
||
</P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR><TD> </TD><TD>file</TD><TD> </TD><TD><CODE>mplayer [options] [path/]filename</CODE></TD></TR>
|
||
<TR><TD></TD><TD>files</TD><TD></TD><TD><CODE>mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...</CODE></TD></TR>
|
||
<TR><TD></TD><TD>VCD</TD><TD></TD><TD><CODE>mplayer [options] -vcd trackno [-cdrom-device /dev/cdrom]</CODE></TD></TR>
|
||
<TR><TD></TD><TD>DVD</TD><TD></TD><TD><CODE>mplayer [options] -dvd titleno [-dvd-device /dev/dvd]</CODE></TD></TR>
|
||
<TR><TD></TD><TD>net</TD><TD></TD><TD><CODE>mplayer [options] http://site.com/file.asf (playlists can be used too)</CODE></TD></TR>
|
||
</TABLE>
|
||
|
||
<P>
|
||
Latest versions of MPlayer also accepts VCD and DVD tracks in URL style, just like
|
||
Xine does: <CODE>mplayer dvd://1</CODE> or <CODE>mplayer vcd://1</CODE></P>
|
||
|
||
<PRE>
|
||
mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
|
||
mplayer -vcd 2
|
||
mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
|
||
mplayer -dvd 1 -dvd-device /dev/hdc
|
||
mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
|
||
</PRE>
|
||
|
||
|
||
<P><B><A NAME="control">3.2 Control</A></B></P>
|
||
|
||
<P><B>MPlayer</B> has a fully configurable, command driven, control layer which
|
||
lets you control <B>MPlayer</B> with keyboard, mouse, joystick or remote
|
||
control (using LIRC).</P>
|
||
|
||
|
||
<P><B><A NAME="default_controls">3.2.1 Default controls</A></B></P>
|
||
|
||
<P><B>Keyboard</B></P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR><TD> </TD><TD><- or -></TD><TD> </TD><TD>seek backward/forward 10 seconds</TD></TR>
|
||
<TR><TD></TD><TD>up or down</TD><TD></TD><TD>seek backward/forward 1 minute</TD></TR>
|
||
<TR><TD></TD><TD>pgup/pgdown</TD><TD></TD><TD>seek backward/forward 10 minutes</TD></TR>
|
||
<TR><TD></TD><TD>< or ></TD><TD></TD><TD>seek backward/forward in playlist</TD></TR>
|
||
<TR><TD></TD><TD>p or SPACE</TD><TD></TD><TD>pause movie (press any key)</TD></TR>
|
||
<TR><TD></TD><TD>q or ESC</TD><TD></TD><TD>stop playing and quit program</TD></TR>
|
||
<TR><TD></TD><TD>+ or -</TD><TD></TD><TD>adjust audio delay by +/- 0.1 second</TD></TR>
|
||
<TR><TD></TD><TD>/ or *</TD><TD></TD><TD>decrease/increase volume</TD></TR>
|
||
<TR><TD></TD><TD>f</TD><TD></TD><TD>toggle fullscreen</TD></TR>
|
||
<TR><TD></TD><TD>o</TD><TD></TD><TD>toggle OSD: none / seek / seek+timer</TD></TR>
|
||
<TR><TD></TD><TD>z or x</TD><TD></TD><TD>adjust subtitle delay by +/- 0.1 second</TD></TR>
|
||
<TR><TD></TD><TD>r or t</TD><TD></TD><TD>adjust subtitle position</TD></TR>
|
||
<TR><TD></TD><TD>HOME or END</TD><TD></TD><TD>go to next/previous playtree entry in the parent list</TD></TR>
|
||
<TR><TD></TD><TD>INSERT or DELETE</TD><TD></TD><TD>go to next/previous alternative source (only available in asx playlist)</TD></TR>
|
||
<TR><TD COLSPAN=4><P><I>(the following keys are valid only when using <CODE>-vo xv</CODE>)</I></P></TD></TR>
|
||
<TR><TD></TD><TD>1 or 2</TD><TD></TD><TD>adjust contrast</TD></TR>
|
||
<TR><TD></TD><TD>3 or 4</TD><TD></TD><TD>adjust brightness</TD></TR>
|
||
<TR><TD></TD><TD>5 or 6</TD><TD></TD><TD>adjust hue</TD></TR>
|
||
<TR><TD></TD><TD>7 or 8</TD><TD></TD><TD>adjust saturation</TD></TR>
|
||
</TABLE>
|
||
|
||
<P><B>GUI</B></P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR><TD> </TD><TD>, and .</TD><TD> </TD><TD>previous / next file</TD></TR>
|
||
<TR><TD></TD><TD>gray - or +</TD><TD></TD><TD>decrease / increase volume</TD></TR>
|
||
<TR><TD></TD><TD>enter</TD><TD></TD><TD>start playing</TD></TR>
|
||
<TR><TD></TD><TD>space</TD><TD></TD><TD>pause</TD></TR>
|
||
<TR><TD></TD><TD>s</TD><TD></TD><TD>stop</TD></TR>
|
||
<TR><TD></TD><TD>a</TD><TD></TD><TD>about</TD></TR>
|
||
<TR><TD></TD><TD>l</TD><TD></TD><TD>load file</TD></TR>
|
||
<TR><TD></TD><TD>b</TD><TD></TD><TD>skin browser</TD></TR>
|
||
<TR><TD></TD><TD>e</TD><TD></TD><TD>toggle equalizer</TD></TR>
|
||
<TR><TD></TD><TD>p</TD><TD></TD><TD>toggle playlist</TD></TR>
|
||
<TR><TD></TD><TD>f</TD><TD></TD><TD>toggle fullscreen</TD></TR>
|
||
<TR><TD></TD><TD>m</TD><TD></TD><TD>toggle mute</TD></TR>
|
||
</TABLE>
|
||
|
||
<P><B>TV</B></P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TR><TD> </TD><TD>h or l</TD><TD> </TD><TD>select previous/next channel</TD></TR>
|
||
<TR><TD></TD><TD>n</TD><TD></TD><TD>change norm</TD></TR>
|
||
<TR><TD></TD><TD>b</TD><TD></TD><TD>change channel list</TD></TR>
|
||
</TABLE>
|
||
|
||
|
||
<P><B><A NAME="controls_configuration">3.2.2 Controls configuration</A></B></P>
|
||
|
||
<P><B>MPlayer</B> allows you bind any key/button to any <B>MPlayer</B> command
|
||
using a simple config file. The syntax consist of a key name followed by a
|
||
command. The default config file location is
|
||
<CODE>$HOME/.mplayer/input.conf</CODE> but it can be overridden using the
|
||
<CODE>-input</CODE> conf switch (relative path are relative to
|
||
<CODE>$HOME/.mplayer</CODE>).
|
||
|
||
<P>Example:</P>
|
||
|
||
<PRE>
|
||
##
|
||
## MPlayer input control file
|
||
##
|
||
|
||
RIGHT seek +10
|
||
LEFT seek -10
|
||
- audio_delay 0.100
|
||
+ audio_delay -0.100
|
||
q quit
|
||
> pt_step 1
|
||
< pt_step -1
|
||
ENTER pt_step 1 1
|
||
</PRE>
|
||
|
||
|
||
<P><B><A NAME="key_names">3.2.2.1 Key names</A></B></P>
|
||
|
||
<P>You can have a full list by running <CODE>mplayer -input keylist</CODE></P>
|
||
|
||
<P><B>Keyboard</B></P>
|
||
|
||
<UL>
|
||
<LI>Any printable character</LI>
|
||
<LI>SPACE</LI>
|
||
<LI>ENTER</LI>
|
||
<LI>TAB</LI>
|
||
<LI>CTRL</LI>
|
||
<LI>BS</LI>
|
||
<LI>DEL</LI>
|
||
<LI>INS</LI>
|
||
<LI>HOME</LI>
|
||
<LI>END</LI>
|
||
<LI>PGUP</LI>
|
||
<LI>PGDWN</LI>
|
||
<LI>ESC</LI>
|
||
<LI>RIGHT</LI>
|
||
<LI>LEFT</LI>
|
||
<LI>UP</LI>
|
||
<LI>DOWN</LI>
|
||
</UL>
|
||
|
||
<P><B>Mouse</B></P>
|
||
|
||
<P>Note: mouse is only supported under X</P>
|
||
|
||
<UL>
|
||
<LI>MOUSE_BTN0 (Left button)</LI>
|
||
<LI>MOUSE_BTN1 (Right button)</LI>
|
||
<LI>MOUSE_BTN2 (Middle button)</LI>
|
||
<LI>MOUSE_BTN3 (Wheel)</LI>
|
||
<LI>MOUSE_BTN4 (Wheel)</LI>
|
||
<LI>...</LI>
|
||
<LI>MOUSE_BTN9</LI>
|
||
</UL>
|
||
|
||
<P><B>Joystick</B></P>
|
||
|
||
<P>Note: joystick support must be enabled at compile time</P>
|
||
|
||
<UL>
|
||
<LI>JOY_RIGHT or JOY_AXIS0_PLUS</LI>
|
||
<LI>JOY_LEFT or JOY_AXIS0_MINUS</LI>
|
||
<LI>JOY_UP or JOY_AXIS1_MINUS</LI>
|
||
<LI>JOY_DOWN or JOY_AXIS1_PLUS</LI>
|
||
<LI>JOY_AXIS2_PLUS</LI>
|
||
<LI>JOY_AXIS2_MINUS</LI>
|
||
<LI>....</LI>
|
||
<LI>JOY_AXIS9_PLUS</LI>
|
||
<LI>JOY_AXIS9_MINUS</LI>
|
||
</UL>
|
||
|
||
|
||
<P><B><A NAME="commands">3.2.2.2 Commands</A></B></P>
|
||
|
||
<P>You can have a full list of known commands by running "mplayer -input cmdlist"</P>
|
||
|
||
<UL>
|
||
<LI><B>seek</B> (int) val [(int) type=0]
|
||
<P>Seek to some place in the movie.<BR>
|
||
Type 0 is a relative seek of +/- val seconds.<BR>
|
||
Type 1 seek to val % in the movie.</P></LI>
|
||
<LI><B>audio_delay</B> (float) val
|
||
<P>Adjust the audio delay of val seconds</P></LI>
|
||
<LI><B>quit</B>
|
||
<P>Quit <B>MPlayer</B></P></LI>
|
||
<LI><B>pause</B>
|
||
<P>Pause/unpause the playback</P></LI>
|
||
<LI><B>grap_frames</B>
|
||
<P>Somebody know ?</P></LI>
|
||
<LI><B>pt_step</B> (int) val [(int) force=0]
|
||
<P>Go to next/previous entry in playtree. Val sign tell the direction.<BR>
|
||
If no other entry is available in the given direction it won't do anything
|
||
unless force is non 0.</P></LI>
|
||
<LI><B>pt_up_step</B> (int) val [(int) force=0]
|
||
<P>Like pt_step but it jump to next/previous in the parent list. It's useful
|
||
to break inner loop in the playtree.</P></LI>
|
||
<LI><B>alt_src_step</B> (int) val
|
||
<P>When more than one source is available it select the next/previous one
|
||
(only supported by asx playlist).</P></LI>
|
||
<LI><B>sub_delay</B> (float) val [(int) abs=0]
|
||
<P>Adjust the subtitles delay of +/- val seconds or set it to val seconds
|
||
when abs is non zero.</P></LI>
|
||
<LI><B>osd</B> [(int) level=-1]
|
||
<P>Toggle osd mode or set it to level when level > 0.</P></LI>
|
||
<LI><B>volume</B> (int) dir
|
||
<P>Increase/decrease volume</P></LI>
|
||
<LI><B>contrast</B> (int) val [(int) abs=0]</LI>
|
||
<LI><B>brightness</B> (int) val [(int) abs=0]</LI>
|
||
<LI><B>hue</B> (int) val [(int) abs=0]</LI>
|
||
<LI><B>saturation</B> (int) val [(int) abs=0]
|
||
<P>Set/Adjust video parameters. Val range from -100 to 100.</P></LI>
|
||
<LI><B>frame_drop</B> [(int) type=-1]
|
||
<P>Toggle/Set frame dropping mode.</P></LI>
|
||
<LI><B>sub_pos</B> (int) val
|
||
<P>Adjust subtitles position.</P></LI>
|
||
<LI><B>vo_fullscreen</B>
|
||
<P>Switch fullscreen mode.</P></LI>
|
||
<LI><B>tv_step_channel</B> (int) dir
|
||
<P>Select next/previous tv channel.</P></LI>
|
||
<LI><B>tv_step_norm</B>
|
||
<P>Change TV norm.</P></LI>
|
||
<LI><B>tv_step_chanlist</B>
|
||
<P>Change channel list.</P></LI>
|
||
<LI><B>gui_loadfile</B></LI>
|
||
<LI><B>gui_loadsubtitle</B></LI>
|
||
<LI><B>gui_about</B></LI>
|
||
<LI><B>gui_play</B></LI>
|
||
<LI><B>gui_stop</B></LI>
|
||
<LI><B>gui_playlist</B></LI>
|
||
<LI><B>gui_preferences</B></LI>
|
||
<LI><B>gui_skinbrowser</B>
|
||
<P>GUI actions</P></LI>
|
||
</UL>
|
||
|
||
|
||
<P><B><A NAME="lirc">3.2.3 Control from LIRC</A></B></P>
|
||
|
||
<P>Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
|
||
an (almost) arbitrary remote control and control your linux box with it!
|
||
More about it at <A HREF="http://www.lirc.org">www.lirc.org</A>.</P>
|
||
|
||
<P>If you have installed the lirc-package, configure will autodetect it. If
|
||
everything went fine, <B>MPlayer</B> will print a message like "Setting up
|
||
lirc support..." on startup. If an error occurs it will tell you. If it
|
||
doesn't tell you anything about LIRC there's no support compiled in. That's
|
||
it :-)</P>
|
||
|
||
<P>The application name for <B>MPlayer</B> is - oh wonder - 'mplayer'.
|
||
You can use any mplayer commands and even pass more than one command by
|
||
separating them with \n. Don't forget to enable the repeat flag in .lircrc
|
||
when it make sense (seek, volume, etc). Here's an excerpt from my
|
||
.lircrc:</P>
|
||
|
||
<PRE>
|
||
begin
|
||
button = VOLUME_PLUS
|
||
prog = mplayer
|
||
config = volume 1
|
||
repeat = 1
|
||
end
|
||
|
||
begin
|
||
button = VOLUME_MINUS
|
||
prog = mplayer
|
||
config = volume -1
|
||
repeat = 1
|
||
end
|
||
|
||
begin
|
||
button = CD_PLAY
|
||
prog = mplayer
|
||
config = pause
|
||
end
|
||
|
||
begin
|
||
button = CD_STOP
|
||
prog = mplayer
|
||
config = seek 0 1\npause
|
||
end
|
||
</PRE>
|
||
|
||
<P>If you don't like the standard location for the lirc-config file (~/.lircrc)
|
||
use the -lircconf <filename> switch to specify another file.</P>
|
||
|
||
|
||
<P><B><A NAME="slave">3.2.4 Slave mode</A></B></P>
|
||
|
||
<P>The slave mode allow you to build simple frontend to <B>MPlayer</B>. When
|
||
enabled (with the <CODE>-slave</CODE> switch) <B>MPlayer</B> will read
|
||
commands separated by new line (\n) from stdin.</P>
|
||
|
||
|
||
<P><B><A NAME="streaming">3.3 Streaming from network or pipes</A></B></P>
|
||
|
||
<P><B>MPlayer</B> can play files from network, using the HTTP or MMS protocol.</P>
|
||
|
||
<P>Playing goes by simply using adding the URL to the command line.
|
||
<B>MPlayer</B> also honors the http_proxy environment variable, and uses
|
||
proxy if available. Proxy usage can also be forced:</P>
|
||
|
||
<P><CODE>mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</CODE></P>
|
||
|
||
<P><B>MPlayer</B> can read from stdin (NOT named pipes). This can be for example
|
||
used to play from FTP:</P>
|
||
|
||
<P><CODE> wget ftp://micorsops.com/something.avi -O - | mplayer -</CODE></P>
|
||
|
||
<P>Note: it's also recommended to enable CACHE when playback from network:</P>
|
||
|
||
<P><CODE> wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -</CODE></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="faq"></A>4. <A HREF="faq.html">FAQ section</A></B></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="cd/dvd"></A>5. <A HREF="cd-dvd.html">CD/DVD section</A></B></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="ports">6. Ports</A></B></P>
|
||
|
||
|
||
<P><B><A NAME="debian">6.1 Debian packaging</A></B></P>
|
||
|
||
<P>To build the package, get the cvs version, or .tgz and uncompress it,
|
||
and cd into programs directory:</P>
|
||
|
||
<PRE>
|
||
cd main
|
||
fakeroot debian/rules binary
|
||
</PRE>
|
||
|
||
<P>(... mplayer detects hardware/software, builds itself and.. )
|
||
dpkg-deb: building package `mplayer' in `../mplayer_0.90-1_i386.deb'.</P>
|
||
|
||
<P>And now just become root, and:</P>
|
||
|
||
<PRE>
|
||
dpkg -i ../mplayer_0.90-1_i386.deb as root.
|
||
</PRE>
|
||
|
||
<P>Here's how it looks like:</P>
|
||
|
||
<PRE>
|
||
eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.90-1_i386.deb
|
||
Password:
|
||
(Reading database ... 26946 files and directories currently installed.)
|
||
Preparing to replace mplayer 0.50-1 (using ../mplayer_0.90-1_i386.deb)
|
||
Unpacking replacement mplayer ...
|
||
Setting up mplayer (0.90-1) ...
|
||
</PRE>
|
||
|
||
|
||
<P><B><A NAME="freebsd">6.2 FreeBSD</A></B></P>
|
||
|
||
<P>To build the package you will need GNU make (gmake, /usr/ports/devel/gmake),
|
||
native BSD make will not work.</P>
|
||
|
||
<P>To run <B>MPlayer</B> you will need to re-compile the kernel with
|
||
"options USER_LDT" (unless you are running -CURRENT, where this is default).
|
||
If you have a CPU with SSE also use "options CPU_ENABLE_SSE" to use it
|
||
(FreeBSD-STABLE required, or use kernel patches).</P>
|
||
|
||
<P>If <B>MPlayer</B> complains about "CD-ROM Device '/dev/cdrom' not found!" make a
|
||
symbolic link: <CODE>ln -s /dev/(your_cdrom_device) /dev/cdrom</CODE></P>
|
||
|
||
<P>There's no DVD support for FreeBSD yet.</P>
|
||
|
||
|
||
<P><B><A NAME="solaris">6.3 Solaris</A></B></P>
|
||
|
||
<P>MPlayer should work on Solaris 2.6 or newer.</P>
|
||
|
||
<P>AVI file playback works best on Solaris x86, because you have the
|
||
option to use the win32 codecs on the x86 platform, or can use
|
||
MMX/MMX2/3DNow/etc instructions for MP3/DivX/DVD/whatever. On Colaris SPARC,
|
||
you'll find quite a few AVI files with non working video and/or audio
|
||
playback, because the video/audio codecs using the Win32 DLLs are not
|
||
available. However, <B>DivX/OpenDivX</B> movies should work, when using
|
||
libavcodec.</P>
|
||
|
||
<P>On <B>UltraSPARC</B>s, <B>MPlayer</B> takes advantage of their <B>VIS</B>
|
||
extensions (equivalent to MMX), currently only in <I>libmpeg2</I>,
|
||
<I>libvo</I> and <I>libavcodec</I>, but not in mp3lib. You can watch a VOB
|
||
file on a 400MHz CPU. You'll need
|
||
<A HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A> installed.</P>
|
||
|
||
<P>To build the package you will need GNU make (gmake, /opt/sfw/gmake), native
|
||
Solaris make will not work. Typical error you get when building with Solaris'
|
||
make instead of GNU make:</P>
|
||
|
||
<PRE>
|
||
% /usr/ccs/bin/make
|
||
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
|
||
</PRE>
|
||
|
||
<P>On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter
|
||
if GNU C/C++ compiler is configured with or without the GNU assembler.</P>
|
||
|
||
<P>On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
|
||
configured to use the GNU assembler! The mplayer code on the x86 platform
|
||
makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
|
||
using Sun's assembler <CODE>/usr/ccs/bin/as</CODE>.</P>
|
||
|
||
<P>The configure script tries to find out, which assembler program is used by
|
||
your "gcc" command (in case the autodetection fails, use the
|
||
<CODE>--as=/whereever/you/have/installed/gnu-as</CODE> option to tell the
|
||
configure script where it can find GNU "as" on your system).</P>
|
||
|
||
<P>Error message from configure on a Solaris x86 system using GCC
|
||
without GNU assembler:</P>
|
||
|
||
<PRE>
|
||
% configure
|
||
...
|
||
Checking assembler (/usr/ccs/bin/as) ... , failed
|
||
Please upgrade(downgrade) binutils to 2.10.1...
|
||
</PRE>
|
||
|
||
<P>(Solution: Install and use a gcc configured with "--with-as=gas")</P>
|
||
|
||
<P>Typical error you get when building with a GNU C compiler that does
|
||
not use GNU as:</P>
|
||
|
||
<PRE>
|
||
% gmake
|
||
...
|
||
gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
|
||
-fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
|
||
Assembler: mplayer.c
|
||
"(stdin)", line 3567 : Illegal mnemonic
|
||
"(stdin)", line 3567 : Syntax error
|
||
... more "Illegal mnemonic" and "Syntax error" errors ...
|
||
</PRE>
|
||
|
||
<P>For DVD support you must have the patched libcss installed. Patch:
|
||
<A HREF="http://www.tools.de/solaris/mplayer/">http://www.tools.de/solaris/mplayer/</A>.</P>
|
||
|
||
<P>Due to two bugs in Solaris 8 x86, you cannot reliably play DVDs using a
|
||
capacity >4GB:</P>
|
||
|
||
<UL>
|
||
<LI>The sd(7D) driver on Solaris 8 x86 driver has bug when accessing a disk
|
||
block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM
|
||
and DVD media). Due to a 32bit int overflow, a disk address modulo 4GB is
|
||
accessed.
|
||
(<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22516">http://groups.yahoo.com/group/solarisonintel/message/22516</A>)
|
||
</LI>
|
||
<LI>The similar bug is present in the hsfs(7FS) filesystem code (aka
|
||
ISO9660), hsfs currently does not support partitions/disks >4GB, all data
|
||
is accessed modulo 4GB
|
||
(<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22592">http://groups.yahoo.com/group/solarisonintel/message/22592</A>)
|
||
</LI>
|
||
</UL>
|
||
|
||
<P>On Solaris with an UltraSPARC CPU, you can get some extra speed by
|
||
using the CPU's VIS instructions for certain time consuming operations.
|
||
VIS acceleration can be used in MPlayer by calling functions in Sun's
|
||
<A HREF="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</A>.</P>
|
||
|
||
<P>VIS accelerated operations from mediaLib are used for mpeg2 video
|
||
decoding and for color space conversion in the video output drivers.</P>
|
||
|
||
|
||
<P><B><A NAME="strongarm">6.4 StrongARM</A></B></P>
|
||
|
||
<P><B>MPlayer</B> is reported to compile on StrongARM. Use the following command line:</P>
|
||
|
||
<PRE>
|
||
./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
|
||
--with-x11incdir=/usr/arm/lib --disable-gcc-checking
|
||
</PRE>
|
||
|
||
|
||
<P><B><A NAME="sgi">6.5 Silicon Graphics / IRIX</A></B></P>
|
||
|
||
<P>Reported working. You'll probably have to use the <I>SGI</I> ao driver.
|
||
Anyone has closer info?</P>
|
||
|
||
|
||
<P><B><A NAME="qnx">6.6 QNX</A></B></P>
|
||
|
||
<P>Works. You'll need to download SDL for QNX, and install it. Then run
|
||
<B>MPlayer</B> with <CODE>-vo sdl:photon</CODE> and <CODE>-ao sdl:nto</CODE>
|
||
options, and it should be fast.</P>
|
||
|
||
<P>The <CODE>-vo x11</CODE> output will be even slower than on Linux, since
|
||
QNX has only X <I>emulation</I> which is VERY slow. Use SDL.</P>
|
||
|
||
|
||
<P><B><A NAME="openbsd">6.7 OpenBSD</A></B></P>
|
||
|
||
<P>To build the package you will need GNU make (gmake,
|
||
/usr/ports/devel/gmake), native BSD make will not work, and a recent
|
||
binutils (including objcopy).</P>
|
||
|
||
<P>Due to limitations in different versions of gas (relocation vs mmx), you'll
|
||
need to compile in two steps: First make sure that the non-native as is first
|
||
in PATH and do a '<CODE>gmake -k</CODE>', then make sure that the native
|
||
version is used and do '<CODE>gmake</CODE>'.</P>
|
||
|
||
<P>To use Win32 DLLs with <B>MPlayer</B> you will need to re-compile the
|
||
kernel with "<CODE>option USER_LDT</CODE>".</P>
|
||
|
||
<P>If <B>MPlayer</B> complains about not finding '/dev/cdrom' or
|
||
'/dev/dvd' make a symbolic link, e.g. <CODE>ln -s
|
||
/dev/rcd0c /dev/dvd</CODE></P>
|
||
|
||
<P>The not so hardcore hackers amongst us might want to use the ports
|
||
version (/usr/ports/x11/mplayer).</P>
|
||
|
||
|
||
<P><A NAME="cygwin"></A><B>6.8. Cygwin</B><BR></P>
|
||
|
||
<P>You will have to go to the <B>MPlayer</B> directory, and copy or symlink
|
||
<CODE>etc/cygwin_inttypes.h</CODE> to <CODE>/usr/include/inttypes.h</CODE> to
|
||
make <B>MPlayer</B> compile. Otherwise it will complain about missing
|
||
<CODE>intypes.h</CODE>.</P>
|
||
|
||
|
||
|
||
<P><B><A NAME="authors">Appendix A - Authors</A></B></P>
|
||
|
||
<P>NOTE: Do *NOT* send bug reports, help & feature requests directly to the authors!</P>
|
||
|
||
<P>Read <A HREF="bugreports.html">Appendix C</A> and subscribe to mplayer-users mailing lists.</P>
|
||
|
||
<P ALIGN=center><B><U>The <B>MPlayer</B> project:</U></B></P>
|
||
|
||
<UL>
|
||
<LI><B><A HREF="mailto:mplayer-users@mplayerhq.hu"><EFBFBD>rp<EFBFBD>d Gere<72>ffy (A'rpi/ESP-team)</A></B>
|
||
<UL>
|
||
<LI>player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...)</LI>
|
||
<LI>mp3lib, based on mpglib sources [MP3 audio decoder]</LI>
|
||
<LI>getch2 [keyboard handler]</LI>
|
||
<LI>some changes in libmpeg2 code (progressive frames, bitrate & fps support)</LI>
|
||
<LI>libvo improvements: adding OpenGL support, bugfix in mga driver...</LI>
|
||
<LI>triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver</LI>
|
||
<LI>scripts in the TVout directory (TVout on Matrox G400DH, read documentation)</LI>
|
||
<LI>hacking DivX/Mpeg4 VfW codecs to get YUV output</LI>
|
||
<LI>opendivx decoder speed optimizations (see opendivx/ChangeLog)</LI>
|
||
<LI>OSD & SUB display code</LI>
|
||
<LI>FFmpeg/libavcodec integration</LI>
|
||
<LI>DivX4Linux (Project Mayo) support (see documentation)</LI>
|
||
<LI>New DVD-Support using libdvdread</LI>
|
||
<LI>DVB support</LI>
|
||
<LI>MPEG PES output & DVB card support</LI>
|
||
<LI>anything that isn't mentioned elsewhere</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:pontscho@makacs.poliod.hu">Zolt<EFBFBD>n Ponekker (Pontscho/Fresh!)</A></B>
|
||
<UL>
|
||
<LI>configure script and Makefiles for easy compile</LI>
|
||
<LI>GUI system</LI>
|
||
<LI>3DNow! support into mp3lib</LI>
|
||
<LI>3DNow! support into fastmemcpy.h</LI>
|
||
<LI>various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc)</LI>
|
||
<LI>libvo: adding xmga driver, and fullscreen support to xv</LI>
|
||
<LI>audio mixer (volume) support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:lgb@lgb.hu">G<EFBFBD>bor L<>n<EFBFBD>rt (LGB)</A></B>
|
||
<UL>
|
||
<LI>configure script improvements</LI>
|
||
<LI>Makefile improvements</LI>
|
||
<LI>preliminary DVD support</LI>
|
||
<LI>various X11 cleanups and fixes</LI>
|
||
<LI>HTMLization of documentation</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:gabucino@mplayerhq.hu">G<EFBFBD>bor B<>rczi (Gabucino)</A></B>
|
||
<UL>
|
||
<LI>documentation writer & maintainer</LI>
|
||
<LI>Hungarian translation of documentation, homepage, and help output</LI>
|
||
<LI>second homepage design&gfx</LI>
|
||
<LI>homepage maintainer</LI>
|
||
<LI>testing, codecs quality & speed comparisons</LI>
|
||
<LI>IRC channels operator (#MPlayer is user channel)</LI>
|
||
<LI>experimental MINIX port :) (what's funny about it?)</LI>
|
||
<LI>MPsub subtitle format design</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:szabi@inf.elte.hu">Szabolcs Berecz (Szabi)</A></B>
|
||
<UL>
|
||
<LI>codecs.conf file parser</LI>
|
||
<LI>config file and command line parser</LI>
|
||
<LI>mga_vid fixes, module option etc.</LI>
|
||
<LI>fbdev support in libvo</LI>
|
||
<LI>type #7 subtitle support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:lez@sch.bme.hu">L<EFBFBD>szl<EFBFBD> Megyer (Lez, Laaz)</A></B>
|
||
<UL>
|
||
<LI>SUB reader</LI>
|
||
<LI>screensaver+DPMS disable for libvo</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:chass-@freemail.hu">Gyula L<>szl<7A> (Chass, T<>gla)</A></B>
|
||
<UL>
|
||
<LI>first fonts (mp_font1.zip)</LI>
|
||
<LI>third homepage design&gfx</LI>
|
||
<LI>fourth (current) homepage design&gfx</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:se7en@sch.bme.hu">Zolt<EFBFBD>n M<>rk Vici<63>n (Se7en)</A></B>
|
||
<UL>
|
||
<LI>SVGAlib support in libvo</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:alex@naxine.org">Alex Beregszaszi (al3x)</A></B>
|
||
<UL>
|
||
<LI>ALSA output driver in libao2</LI>
|
||
<LI>vo_ggi output driver in libvo (www.ggi-project.org)</LI>
|
||
<LI>XAnim codecs support</LI>
|
||
<LI>VIVO files support</LI>
|
||
<LI>TV grabbing support</LI>
|
||
<LI>Quicktime hackings</LI>
|
||
<LI>libavcodec support in MEncoder</LI>
|
||
<LI>RM file format demuxer</LI>
|
||
<LI>mencoder framecopy</LI>
|
||
<LI>yuv4mpeg1 support</LI>
|
||
<LI>NuppelVideo demuxer changes</LI>
|
||
<LI>subconfig</LI>
|
||
<LI>VIDIX and libdha hackings</LI>
|
||
<LI>Matrox driver port to Vidix</LI>
|
||
<LI>XVidix video output driver</LI>
|
||
<LI>and other various stuff (in libvo, libmad syncing, dec_audio/video and loader)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:asackerm@stud.informatik.uni-erlangen.de">Andreas Ackermann (Acki)</A></B>
|
||
<UL>
|
||
<LI>LIRC support (see documentation)</LI>
|
||
<LI>DGA support in libvo</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:atmosfear@users.sourceforge.net">Felix B<>nemann (Atmos)</A></B>
|
||
<UL>
|
||
<LI>SDL driver maintainer</LI>
|
||
<LI>Additional YUV formats fixes</LI>
|
||
<LI>New font (mp_font2.zip)</LI>
|
||
<LI>PNG file output support in libvo</LI>
|
||
<LI>flipping support (for Indeo 3/4, etc)</LI>
|
||
<LI>SDL audio driver in libao2</LI>
|
||
<LI>RAW PCM/WAVE file writer for libao2</LI>
|
||
<LI>Ogg Vorbis audio support</LI>
|
||
<LI>Various aspect code</LI>
|
||
<LI>Win32 (Cygwin) port</LI>
|
||
<LI>priority support in codecs.conf (never used ;)</LI>
|
||
<LI>DivX5Linux support</LI>
|
||
<LI>AAC decoding support via libfaad2</LI>
|
||
<LI>Darwin (MacOS X) port</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:telenieko@telenieko.com">TeLeNiEkO</A></B>
|
||
<UL>
|
||
<LI>Spanish translation of documentation</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:mgraffam@idsi.net">Michael Graffam</A></B>
|
||
<UL>
|
||
<LI>XF86VidMode support to vo_x11 and vo_dga</LI>
|
||
<LI>Video mode switching code to vo_dga</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:hoffmajs@gmx.de">Jens Hoffmann</A></B>
|
||
<UL>
|
||
<LI>Additional YUV formats support</LI>
|
||
<LI>found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:nickols_k@mail.ru">Nick Kurshev</A></B>
|
||
<UL>
|
||
<LI>memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h)</LI>
|
||
<LI>CD-ROM tune info</LI>
|
||
<LI>further 3DNow! optimizations into mp3lib and libac3 and FFmpeg</LI>
|
||
<LI>Russian translation of documentation</LI>
|
||
<LI>radeon_vid, rage128_vid, radeonfb</LI>
|
||
<LI>libvo driver: vo_vesa</LI>
|
||
<LI>VIDIX and libdha design, programming</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:german@piraos.com">German Gomez Garcia</A></B>
|
||
<UL>
|
||
<LI>SPDIF AC3 output for SBLive!</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:eyck@incubus.ar.lublin.pl">Dariusz Pietrzak (Eyck)</A></B>
|
||
<UL>
|
||
<LI>Debian packaging support (see debian/* and this documentation)</LI>
|
||
<LI>support for vplayer subtitle format</LI>
|
||
<LI>preliminary support for .RT subtitle format</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:marcus@idonex.se">Marcus Comstedt</A></B>
|
||
<UL>
|
||
<LI>initial Solaris8-x86 support</LI>
|
||
<LI>configure fixes</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:jk@tools.de">J<EFBFBD>rgen Keil</A></B>
|
||
<UL>
|
||
<LI>patched <B>MPlayer</B> to work on Solaris 8 x86</LI>
|
||
<LI>various fixes (win32, configure, etc)</LI>
|
||
<LI>SUN audio driver in libao2</LI>
|
||
<LI>mediaLib support in libavcodec</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:vkushnir@Alfacom.net">Vladimir Kushnir</A></B>
|
||
<UL>
|
||
<LI>patched <B>MPlayer</B> to work on FreeBSD x86</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:bertrand_baudet@yahoo.com">Bertrand BAUDET</A></B>
|
||
<UL>
|
||
<LI>network streaming support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:djw@flinthills.com">Derek J Witt</A></B>
|
||
<UL>
|
||
<LI>MMS network streaming patches</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:albeu@free.fr">Alban Bedel</A></B>
|
||
<UL>
|
||
<LI>MMS network streaming patches</LI>
|
||
<LI>Playtree and per-entry config</LI>
|
||
<LI>Playlist parsers</LI>
|
||
<LI>New input</LI>
|
||
<LI>Audio only support</LI>
|
||
<LI>MP3, WAV and Ogg demuxers</LI>
|
||
<LI>Support for audio from external file</LI>
|
||
<LI>DXR2 driver</LI>
|
||
<LI>vo_aa improvements</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:zybi@fanthom.irc.pl">Artur Zaprzala</A></B>
|
||
<UL>
|
||
<LI>Complete font generator prog + OSD font (TOOLS/subfont-c)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:lanzz@lanzz.org">lanzz@lanzz.org</A></B>
|
||
<UL>
|
||
<LI>GIMP font generator plugin (TOOLS/subfont-gimp)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:atlka@pg.gda.pl">Adam Tla/lka</A></B>
|
||
<UL>
|
||
<LI>osd/sub review, fixes, optimization, utf8 support</LI>
|
||
<LI>various fixes</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:folke@ashberg.de">Folke Ashberg</A></B>
|
||
<UL>
|
||
<LI>native AAlib driver (-vo aa)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:ktoman@email.cz">Kamil Toman</A></B>
|
||
<UL>
|
||
<LI>Czech fonts</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:iive@yahoo.com">Ivan Kalvatchev</A></B>
|
||
<UL>
|
||
<LI>interlaced MPEG2 support (libmpeg2)</LI>
|
||
<LI>libvo2 draft</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:p_l@gmx.fr">pl</A></B>
|
||
<UL>
|
||
<LI>new configure script</LI>
|
||
<LI>general code maintaining, fixes, patch committing</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:michaelni@gmx.at">Michael Niedermayer</A></B>
|
||
<UL>
|
||
<LI>new postprocessing code (with deinterlacing etc...)</LI>
|
||
<LI>software scaling C/MMX/MMX2/3DNow support (swscale.c)</LI>
|
||
<LI>various rgb/yuv bpp converters</LI>
|
||
<LI>new, better IDCT code for libavcodec</LI>
|
||
<LI>runtime CPU detection</LI>
|
||
<LI>SSE optimization of liba52</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:sgoethel@jausoft.com">Sven Goethel</A></B>
|
||
<UL>
|
||
<LI>libvo driver: vo_gl2</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:joy@pingfm.org">joy_ping</A></B>
|
||
<UL>
|
||
<LI>ao_alsa9 fixes</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:eanholt@gladstone.uoregon.edu">Eric Anholt</A></B>
|
||
<UL>
|
||
<LI>CPU detection code</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:Jiri.Svoboda@seznam.cz">Jiri Svoboda</A></B>
|
||
<UL>
|
||
<LI>AQT type subtitles support</LI>
|
||
<LI>CRTC2 YUV support in mga_vid</LI>
|
||
<LI>DirectFB video output driver</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:oliver.schoenbrunner@jku.at">Oliver Schoenbrunner</A></B>
|
||
<UL>
|
||
<LI>SGI audio driver</LI>
|
||
<LI>MIPS support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:jeroen.dobbelaere@acunia.com">Jeroen Dobbelaere</A></B>
|
||
<UL>
|
||
<LI><A HREF="http://mad.sourceforge.net">libmad</A> support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:dholm@telia.com">David Holm</A></B>
|
||
<UL>
|
||
<LI>DXR3 support</LI>
|
||
<LI>libmp1e import</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:takis@lumumba.luc.ac.be">Panagiotis Issaris</A></B>
|
||
<UL>
|
||
<LI>-playlist option</LI>
|
||
<LI>NuppelVideo support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:melanson@pcisys.net">Mike Melanson</A></B>
|
||
<UL>
|
||
<LI>MS Video1 codec open-source implementation</LI>
|
||
<LI>FLI demuxer, decoder</LI>
|
||
<LI>Unified ADPCM Decoder (supports IMA/DVI, MS ADPCM, several others)</LI>
|
||
<LI>FILM (.cpk) file demuxer</LI>
|
||
<LI>RoQ file demuxer</LI>
|
||
<LI>RoQ Audio/Video decoder</LI>
|
||
<LI>QT SMC decoder</LI>
|
||
<LI>QT RLE decoder</LI>
|
||
<LI>MS RLE decoder</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:ranma@gmx.at">Tobias Diedrich</A></B>
|
||
<UL>
|
||
<LI>NAS audio output driver</LI>
|
||
<LI>DXR2 driver</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:foth@informatik.uni-hamburg.de">Kilian A. Foth</A></B>
|
||
<UL>
|
||
<LI>-slave mode</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:timf@mail.csse.monash.edu.au">Tim Ferguson</A></B>
|
||
<UL>
|
||
<LI>Open source Cinepak decoder</LI>
|
||
<LI>Open source CYUV decoder</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:itrs@softwell.com.tw">Sam Lin</A></B>
|
||
<UL>
|
||
<LI>-wid (plugger) patch</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:johannes.feigl@aon.at">Johannes Feigl</A></B>
|
||
<UL>
|
||
<LI>original German docs translation</LI>
|
||
<LI>some improvements in configure, small patches</LI>
|
||
<LI>found somebody (Thilo Wunderlich) who sent a DVB card</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:kmkaplan@selfoffice.com">Kim Minh Kaplan</A></B>
|
||
<UL>
|
||
<LI>DVD and VobSub subtitles display support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:bkuschak@yahoo.com">Brian Kuschak</A></B>
|
||
<UL>
|
||
<LI>RTP streaming support (reading)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:steve@daviesfam.org">Stephen Davies</A></B>
|
||
<UL>
|
||
<LI>support for large video files (>2^32 bytes in size)</LI>
|
||
<LI>surround sound</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:rsnel@cube.dyndns.org">Rik Snel</A></B>
|
||
<UL>
|
||
<LI><CODE>zr</CODE> video output driver</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:ajh@atri.curtin.edu.au">Anders Johansson</A></B>
|
||
<UL>
|
||
<LI>audio plugin system, some effect plugins</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:rtogni@freemail.it">Roberto Togni</A></B>
|
||
<UL>
|
||
<LI>Open source QT RPZA decoder</LI>
|
||
<LI>Open source HuffYUV decoder</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:wojtekka@bydg.pdi.net">Wojtek Kaniewski</A></B>
|
||
<UL>
|
||
<LI>Mouse wheel support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:freku045@student.liu.se">Fredrik Kuivinen</A></B>
|
||
<UL>
|
||
<LI>OSD/subtitles outside movie - for SDL</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI><B><A HREF="mailto:flo-mplayer-dev@gmx.net">Florian Schneider</A></B>
|
||
<UL>
|
||
<LI>RealVideo libraries loader</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
|
||
<P>Main testers:</P>
|
||
|
||
<UL>
|
||
<LI>Tibor Bal<61>zs (Tibcu)
|
||
<LI>P<EFBFBD>ter Sasi (SaPe)
|
||
<LI>Christoph H. Lampert
|
||
<LI>Attila Kinali
|
||
<LI>Dirk Vornheder
|
||
<LI>Bohdan Horst (Nexus)
|
||
</UL>
|
||
|
||
<P ALIGN=center><B><U>The codecs, libs:</U></B></P>
|
||
|
||
<UL>
|
||
<LI>Aaron Holtzman: <aholtzma@engr.uvic.ca>
|
||
<UL>
|
||
<LI>ac3dec (and libac3) author [AC3 audio decoder]</LI>
|
||
<LI>mga_vid driver [Matrox G200/G400 YUV Back-end Scaler]</LI>
|
||
<LI>mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Michel Lespinasse: <walken@zoy.org>
|
||
<UL>
|
||
<LI>did large libmpeg2 changes for better speed and mpeg conformance</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Eugene Kuznetsov: <divx@euro.ru>
|
||
<UL>
|
||
<LI>avifile author [AVI player library for linux, using Win32 VfW/ACM codecs]</LI>
|
||
<LI>technical help about AVI and ASF formats, and how to get YUV using VfW...</LI>
|
||
<LI>divx4linux technical support</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Zdenek Kabelac: <kabi@informatics.muni.cz>
|
||
<UL>
|
||
<LI>current avifile maintainer(?)</LI>
|
||
<LI>some technical help about the win32 stuff and timers</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Gerard Lantau: <glantau@yahoo.fr>
|
||
<UL>
|
||
<LI>FFmpeg/libavcodec author,maintainer (open source mpeg, mjpeg, divx en/decoder)</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Project Mayo: <<A HREF="http://www.projectmayo.com">http://www.projectmayo.com</A>>
|
||
<UL>
|
||
<LI>the OpenDivX codec authors</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Michael Hipp:
|
||
<UL>
|
||
<LI>mpglib author [isn't used directly but some parts in mp3lib]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Mark Podlipec:
|
||
<UL>
|
||
<LI>xa_gsm.c author [MS-GSM audio codec]
|
||
[from a GSM library by Jutta Degener and Carsten Bormann]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Jake Janovetz:
|
||
<UL>
|
||
<LI>remez.c author [Used to calculate audio filter coefficients]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Vivien Chappelier, Damien Vincent:
|
||
<UL>
|
||
<LI>libFAME authors [fast mpeg-1 encoder, used by -vo mpegpes/-vo dxr3]</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
|
||
<P>Their code is not used in current player version, but I've got some ideas or
|
||
other technical help from:</P>
|
||
|
||
<UL>
|
||
<LI>John F. McGowan http://www.jmcgowan.com/
|
||
<UL>
|
||
<LI>AVI FAQ author/collector. [site with many useful docs on codecs and avi format]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Dirk Farin: <farin@ti.uni-mannheim.de>
|
||
<UL>
|
||
<LI>dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8]</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>Adam Williams: <broadcast@earthling.net>
|
||
<UL>
|
||
<LI>libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4]</LI>
|
||
</UL>
|
||
</LI>
|
||
</UL>
|
||
|
||
|
||
|
||
<P><B><A NAME="maintainers">Appendix A2 - MPlayer code and documentation maintainers</A></B></P>
|
||
|
||
Homepage
|
||
<UL>
|
||
<LI><B>Design:</B> Chass and Tornado</LI>
|
||
<LI><B>Contents:</B> Gabucino</LI>
|
||
</UL>
|
||
|
||
English documentation
|
||
<UL>
|
||
<LI><B>user docs:</B> Gabucino</LI>
|
||
<LI><B>review, grammar fixes:</B> Diego Biurrun, Nilmoni Deb</LI>
|
||
<LI><B>input layer, lirc, slave mode docs:</B> Albeu</LI>
|
||
<LI><B>tech/* docs:</B> A'rpi</LI>
|
||
</UL>
|
||
|
||
Documentation translations
|
||
<UL>
|
||
<LI><B>Hungarian:</B> Gabucino</LI>
|
||
<LI><B>German:</B> <A HREF="mailto:jjermann@gmx.net">Jonas Jermann</A></LI>
|
||
<LI><B>French:</B> <A HREF="mailto:smarteau@eso.org">Stephane Marteau</A> (outdated)</LI>
|
||
<LI><B>Spanish:</B> TeLeNiEkO (outdated)</LI>
|
||
<LI><B>Russian:</B> Nick Kurshev (outdated)</LI>
|
||
<LI><B>Polish:</B> <A HREF="mailto:nell@skrzynka.pl">Justyna Biala</A></LI>
|
||
<LI><B>Italian:</B> Matteo Balduzzi</LI>
|
||
</UL>
|
||
|
||
Platforms/ports
|
||
<UL>
|
||
<LI><B>DEBIAN packaging:</B> Dariusz Pietrzak</LI>
|
||
<LI><B>FreeBSD support:</B> Vladimir Kushnir, Nexus</LI>
|
||
<LI><B>BSD/OS support:</B> Steven Schultz</LI>
|
||
<LI><B>Solaris 8 support:</B> J<>rgen Keil, pl</LI>
|
||
<LI><B>MIPS support:</B> Oliver Schoenbrunner</LI>
|
||
<LI><B>Win32/Cygwin support:</B> Atmosfear</LI>
|
||
</UL>
|
||
|
||
MPlayer code:
|
||
<UL>
|
||
<LI><B>A-V sync code:</B> A'rpi</LI>
|
||
<LI><B>libmpdemux, libmpcodecs:</B> A'rpi</LI>
|
||
<LI><B>TV input:</B> Alex</LI>
|
||
<LI><B>DVD support (newest - dvdnav):</B> Kees Cook</LI>
|
||
<LI><B>DVD support (new - dvdread/dvdcss):</B> A'rpi</LI>
|
||
<LI><B>DVD support (old - libcss):</B> LGB</LI>
|
||
<LI><B>network streaming:</B> Bertrand BAUDET</LI>
|
||
<LI><B>ascii subtitles file parser/reader/writer:</B> Lez</LI>
|
||
<LI><B>DVD/VOB subtitles:</B> Kim Minh Kaplan</LI>
|
||
<LI><B>SUB/OSD renderer:</B> Adam Tla/lka</LI>
|
||
<LI><B>config files & commandline parser:</B> Szabi</LI>
|
||
<LI><B>playtree, input layer:</B> Albeu</LI>
|
||
<LI><B>postproc, colorspace converters:</B> Michael Niedermayer</LI>
|
||
<LI><B>LIRC support (old):</B> Acki</LI>
|
||
<LI><B>VIDIX core, libdha:</B> Nick Kurshev</LI>
|
||
</UL>
|
||
|
||
libvo drivers:
|
||
<UL>
|
||
<LI><B>vo_3dfx.c</B> - OBSOLETED, use xv or tdfxfb</LI>
|
||
<LI><B>vo_tdfxfb.c</B> - Mark Zealey (mark@zealos.org)</LI>
|
||
<LI><B>vo_aa.c</B> - Folke Ashberg</LI>
|
||
<LI><B>vo_directfb.c</B> - <A HREF="mailto:Jiri.Svoboda@seznam.cz">Jiri Svoboda</A></LI>
|
||
<LI><B>vo_dga.c</B> - Acki (outdated)</LI>
|
||
<LI><B>vo_dxr2.c</B> - Albeu</LI>
|
||
<LI><B>vo_dxr3.c</B> - David Holm</LI>
|
||
<LI><B>vo_fbdev.c</B> - Szabi</LI>
|
||
<LI><B>vo_ggi.c</B> - al3x</LI>
|
||
<LI><B>vo_gl.c</B> - A'rpi (outdated)</LI>
|
||
<LI><B>vo_gl2.c</B> - <A HREF="mailto:sgoethel@jausoft.com">Sven Goethel</A></LI>
|
||
<LI><B>vo_md5.c</B> - A'rpi</LI>
|
||
<LI><B>vo_mga.c</B> - A'rpi</LI>
|
||
<LI><B>vo_mpegpes.c</B> - A'rpi</LI>
|
||
<LI><B>vo_null.c</B> - A'rpi</LI>
|
||
<LI><B>vo_pgm.c</B> - A'rpi</LI>
|
||
<LI><B>vo_png.c</B> - Atmos</LI>
|
||
<LI><B>vo_sdl.c</B> - Atmos</LI>
|
||
<LI><B>vo_svga.c</B> - Matan Ziv-Av</LI>
|
||
<LI><B>vo_vesa.c</B> - Nick Kurshev</LI>
|
||
<LI><B>vo_x11.c</B> - Pontscho</LI>
|
||
<LI><B>vo_xmga.c</B> - Pontscho</LI>
|
||
<LI><B>vo_xv.c</B> - Pontscho</LI>
|
||
<LI><B>vo_xvidix.c</B> - al3x</LI>
|
||
<LI><B>vo_zr.c</B> - <A HREF="mailto:rsnel@cube.dyndns.org">Rik Snel</A></LI>
|
||
</UL>
|
||
|
||
VIDIX drivers:
|
||
<UL>
|
||
<LI><B>genfb_vid</B> - al3x</LI>
|
||
<LI><B>mach64_vid</B> - Michael Niedermayer</LI>
|
||
<LI><B>mga_vid</B> - al3x ?</LI>
|
||
<LI><B>nvidia_vid</B> - al3x (development stopped - don't expect it)</LI>
|
||
<LI><B>radeon_vid</B> - Nick Kurshev</LI>
|
||
<LI><B>rage128_vid</B> - Nick Kurshev</LI>
|
||
</UL>
|
||
|
||
libao2 drivers:
|
||
<UL>
|
||
<LI><B>ao_alsa5.c</B> - al3x</LI>
|
||
<LI><B>ao_alsa9.c</B> - al3x (fixed by <A HREF="mailto:joy@pingfm.org">joy_ping</A>)</LI>
|
||
<LI><B>ao_dxr2.c</B> - Albeu</LI>
|
||
<LI><B>ao_null.c</B> - A'rpi</LI>
|
||
<LI><B>ao_oss.c</B> - A'rpi</LI>
|
||
<LI><B>ao_pcm.c</B> - Atmos</LI>
|
||
<LI><B>ao_sdl.c</B> - Atmos</LI>
|
||
<LI><B>ao_sgi.c</B> - <A HREF="oliver.schoenbrunner@jku.at">Oliver Schoenbrunner</A></LI>
|
||
<LI><B>ao_sun.c</B> - J<>rgen Keil</LI>
|
||
</UL>
|
||
|
||
TOOLS:
|
||
<UL>
|
||
<LI><B>subfont-c</B> - Artur Zaprzala (zybi@fanthom.irc.pl)</LI>
|
||
<LI><B>subfont-GIMP</B> - lanzz@lanzz.org</LI>
|
||
<LI><B>*.pl</B> - Atmos</LI>
|
||
<LI><B>x2mpsub</B> - Gabucino</LI>
|
||
<LI><B>mencvcd</B> - Juergen Hammelmann (juergen.hammelmann@gmx.de)</LI>
|
||
<LI><B>others</B> - A'rpi</LI>
|
||
</UL>
|
||
|
||
|
||
|
||
<P><B><A NAME="mailing_lists">Appendix B - Mailing lists</A></B></P>
|
||
|
||
<P>There are some public mailing lists on <B>MPlayer</B>. Subscribing can be
|
||
achieved on the following addresses:</P>
|
||
|
||
<UL>
|
||
<LI>MPlayer developers list:
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng</A><BR>
|
||
This list is about mplayer development! Talking about interface/API changes,
|
||
new libraries, code optimization, configure changes, and send patches here.
|
||
Do NOT send bug reports, user questions, feature requests or flames here!
|
||
This list should be kept low-traffic.</LI>
|
||
<LI>MPlayer users list:
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A>
|
||
<UL>
|
||
<LI>Send bug reports here (after reading the <A HREF="#known_bugs">Known Bugs</A>
|
||
section, and <A HREF="bugreports.html">Appendix C</A>).</LI>
|
||
<LI>Send feature requests here (after reading the WHOLE documentation).</LI>
|
||
<LI>Send user questions here (after reading the WHOLE documentation).</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>MPlayer Hungarian users list:
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok">http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok</A>
|
||
<UL>
|
||
<LI>Hungarian language list</LI>
|
||
<LI>topic? We'll see about it... mostly flame and RTFM questions up to now :(</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>MPlayer & Matrox G200/G400/G450/G550 users:<BR>
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-matrox">http://mplayerhq.hu/mailman/listinfo/mplayer-matrox</A>
|
||
Send Matrox related questions here
|
||
<UL>
|
||
<LI>things about mga_vid</LI>
|
||
<LI>Matrox's official beta drivers (for X 4.x.x)</LI>
|
||
<LI>and about matroxfb-TVout stuff.</LI>
|
||
</UL>
|
||
</LI>
|
||
<LI>MPlayer & DVB card users:
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">http://mplayerhq.hu/mailman/listinfo/mplayer-dvb</A><BR>
|
||
Things related to the hardware decoder card called DVB (NOT DXR3!).
|
||
</LI>
|
||
<LI>MPlayer CVS-log:
|
||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog">http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog</A><BR>
|
||
Send only questions about CVS changes here (if you do not understand why a
|
||
change is required or you have a better fix or you have noticed a possible
|
||
bug/problem in the committed patch). Be sure in that your target developer
|
||
reads this list!</LI>
|
||
</UL>
|
||
|
||
<P><B>Note:</B> The Languages of above lists are ENGLISH, unless explicitly
|
||
stated otherwise. Please do not send messages using another language!</P>
|
||
|
||
<P><B>Note:</B> You can reach the searchable mailing list archives
|
||
<A HREF="http://www.mplayerhq.hu/cgi-bin/htsearch">here</A>.
|
||
|
||
|
||
|
||
<P><B><A NAME="bug_reports"></A><A HREF="bugreports.html">Appendix C</A> - How to report bugs</B></P>
|
||
|
||
|
||
|
||
<P><B><A NAME="known_bugs">Appendix D - Known bugs</A></B></P>
|
||
|
||
<P>Special system/CPU-specific bugs/problems:</P>
|
||
<UL>
|
||
|
||
<LI>SIGILL (signal 4) on P3 using 2.2.x kernels:<BR>
|
||
Problem: kernel 2.2.x doesn't have proper (working) SSE support<BR>
|
||
Solution: upgrade kernel to 2.4.x<BR>
|
||
Workaround: <CODE>./configure --disable-sse</CODE></LI>
|
||
|
||
<LI>General SIGILL (signal 4):<BR>
|
||
Problem: you compiled and run mplayer in different machines
|
||
(for example compiled on P3 and running on Celeron)<BR>
|
||
Solution: compile MPlayer on the same machine where you will use it!<BR>
|
||
Workaround: <CODE>./configure --disable-sse</CODE> etc. options</LI>
|
||
|
||
<LI>"Internal buffer inconsistency" during MEncoder run:<BR>
|
||
Problem: known problem when lame < 3.90 was compiled with gcc 2.96 or 3.x.<BR>
|
||
Solution: use lame >=3.90.<BR>
|
||
Workaround: compile lame with gcc 2.95.x and remove any already installed
|
||
lame packages, they may have been compiled with gcc 2.96.</LI>
|
||
|
||
<LI>Messed up MP2/MP3 sound on PPC:<BR>
|
||
Problem: known GCC miscompilation bug on PPC platforms, no fix yet.<BR>
|
||
Workaround: use FFmpeg's (slow) MP1/MP2/MP3 decoder (<CODE>-ac ffmpeg</CODE>)</LI>
|
||
|
||
<LI>sig11 in libmpeg2, when scaling+encoding:<BR>
|
||
Problem: known GCC 2.95.2 MMX bug, upgrade to 2.95.3.</LI>
|
||
</UL>
|
||
|
||
<P>Various A-V sync and other audio problems:</P>
|
||
|
||
General audio delay or jerky sound (exists with all or many files):
|
||
<UL>
|
||
<LI>most common: buggy audio driver! - try to use different drivers, try
|
||
ALSA 0.9 OSS emulation with -ao oss, also try -ao sdl, sometimes it helps.
|
||
If your file plays fine with -nosound, then you can be sure it's sound card
|
||
(driver) problem.</LI>
|
||
<LI>audio buffer problems (buffer size badly detected)<BR>
|
||
Workaround: mplayer -abs option</LI>
|
||
<LI>samplerate problems - maybe your card doesn't support the samplerate
|
||
used in your files - try the resampling plugin (-aop)</LI>
|
||
<LI>slow machine (CPU or VGA)<BR>
|
||
try with -vo null, if it plays well, then you have slow VGA card/driver<BR>
|
||
Workaround: buy a faster card or read this documentation about how to speed up<BR>
|
||
Also try -framedrop</LI>
|
||
</UL>
|
||
|
||
Audio delay/de-sync specific to one or a few files:
|
||
<UL>
|
||
<LI>bad file<BR>
|
||
Workaround:
|
||
<UL>
|
||
<LI>-ni or -nobps option (for non-interleaved or bad files)<BR>
|
||
and/or</LI>
|
||
<LI>-mc 0 (required for files with badly interleaved VBR audio)<BR>
|
||
and/or</LI>
|
||
<LI>-delay option or +/- keys at runtime to adjust delay</LI>
|
||
</UL>
|
||
If none of these help, please upload the file, we'll check (and fix).
|
||
</LI>
|
||
<LI>your sound card doesn't support 48kHz playback<BR>
|
||
Workaround: buy a better sound card... or try to decrease fps by 10% (use
|
||
-fps 27 for a 30fps movie) or use the resampler plugin</LI>
|
||
<LI>slow machine<BR>
|
||
(if A-V is not around 0, and the last number in the status line increasing)<BR>
|
||
Workaround: -framedrop</LI>
|
||
</UL>
|
||
|
||
No sound at all:
|
||
<UL>
|
||
<LI>your file uses an unsupported audio codec<BR>
|
||
Workaround: read the documentation and help us adding support for it</LI>
|
||
</UL>
|
||
|
||
No picture at all (just plain grey/green window):
|
||
<UL>
|
||
<LI>your file uses an unsupported video codec<BR>
|
||
Workaround: read the documentation and help us adding support for it</LI>
|
||
<LI>auto-selected codec can't decode the file, try to select another using -vc
|
||
or -vfm options</LI>
|
||
<LI>you try to play DivX 3.x file with OpenDivX decoder or XviD (-vc odivx)
|
||
- install Divx4Linux and recompile player</LI>
|
||
</UL>
|
||
|
||
<P>Video-out problems:</P>
|
||
|
||
<P>First note: options -fs -vm and -zoom are just recommendations, not (yet)
|
||
supported by all drivers. So it isn't a bug if it doesn't work.
|
||
Only a few driver supports scaling/zooming, don't expect this from x11 or dga.</P>
|
||
|
||
<P>OSD/sub flickering:<BR>
|
||
- x11 driver: sorry, it can't be fixed now<BR>
|
||
- xv driver: use -double option</P>
|
||
|
||
<P>Green image using mga_vid (-vo mga / -vo xmga):<BR>
|
||
- mga_vid misdetected your card's RAM amount, reload it using mga_ram_size option</P>
|
||
|
||
</BODY>
|
||
</HTML>
|