XINE(1)
๐ธ XINE(1) โ the general commands manual, but make it cute ๐ธ
okay bestie, buckle up โ this is the manual page for xine, aka a free video player ๐ and yes, it's in the General Commands Manual section, iykyk.
โจ NAME โจ
xine</purgle> โ a free video player. That's it. That's the name. ๐
๐ฆ SYNOPSIS ๐ฆ
xine [options] [MRL] ...
๐ DESCRIPTION ๐
Okay so, real talk โ this manual page documents briefly the xine audio/video player. Brief. Like, it's giving overview, not novel. ๐
And the way that xine plays things?? Iconic. It handles:
- MPEG system (audio and video) streams
- mpeg elementary streams (like
.mp3or.mpvfiles, bestie) - mpeg transport streams
- ogg files
- avi files
- asf files
- quicktime files
- (S)VCDs
- DVDs
- and many more ๐
many more. we love a versatile queen. ๐
โจ OPTIONS โจ
So these programs follow the usual GNU command line syntax, okay? Long options start with two dashes (--). A summary of options is included below โ for a complete description, go read README and FAQ in /usr/share/doc/xine-ui or hit up the xine home page. ๐ซถ
-h,--helpโ Show summary of options and available output drivers (plugins). your little cheat sheet, bestie ๐--verbose[=level]โ Set verbose level. That's the whole thing. chattiness dial, go off ๐ข-c,--config<file>โ Use config file instead of the default one. your own vibes, your own rules โจ-a,--audio-channel<num>โ Select the given audio channel.<num>is the audio channel number, default is0.
And here's the cute part: xine 0.5 and newer tries its best to collect all valid audio channels (ac3, mpeg audio, avi audio, ...) from the stream and map them to "virtual channels" with channel numbers starting at 0. ๐ง
-V,--video-driver<drv>โ Select video driver. Check outxine --helpfor a list of available video output plugins on your system. this selection is stored automatically in your~/.xine/configso you'll have to specify the video driver only once. one and done, periodt. ๐-A,--audio-driver<drv>โ Select audio driver. Check outxine --helpfor a list of available audio output plugins on your system. This selection is also stored automatically in your~/.xine/config, so again โ you only gotta say it once. ๐ถ-u,--spu-channel<num>โ Select subpicture (subtitle) channel.<num>is the subpicture channel id, default is no subtitle (-1). ๐-p,--auto-play=[f][F][h][w][q][d][v]โ Start playing immediately after start. Can be followed by:fin fullscreen mode,Fin xinerama fullscreen mode,hhide GUI (main panel, etc...),whide video output window,qfor quitting after playback,
It is also possible to request the playlist from DVD d, or VCD v. BUT there is now a more generic option, --auto-scan, for that (see below). ๐
-s,--auto-scan<plugin>โ Auto-scan playlist from named input plugin. Many plugins allow one to read a default playlist, in order to play everything. This works fine for DVDs or VCDs, for example. Giving this option has the same effect as pressing the according button on xine's main panel. ๐๏ธ
This option is especially useful in combination with auto-play. You could start xine --auto-play --auto-scan dvd in order to play a whole DVD without having to press any additional buttons. And it also works for plugins that are not supplied with xine โ just give the name of the button that the desired plugin adds to the xine panel! ๐ฆ
-f,--fullscreenโ Switch xine to fullscreen mode on start (just like pressingf). main character energy, full screen, no notes ๐-F,--xineramafullโ Switch xine to xinerama fullscreen mode on start (just like pressingF). That is to say, try to expand display on several screens. Screens to use are defined in config file. ๐ฅ๏ธ๐ฅ๏ธ-g,--hide-guiโ Hide all GUI windows (except the video window) on start. This is the same as pressingGwithin xine. ๐ซฃ-H,--hide-videoโ Hide video output window. the audio stays, the picture dips ๐ง-L,--no-lircโ Turn off LIRC support. heads up bestie: this option is only available if xine has been compiled with LIRC support. โ ๏ธ--visual<visual-class-or-id>โ Try to use a specific X11 server visual for xine windows. The<visual-class-or-id>parameter is either the name of an X11 visual class (StaticGray,GrayScale,StaticColor,PseudoColor,TrueColororDirectColor) or the hexadecimal value for a specific X11 visual.
When used with a visual class name, xine tries to find such a visual with depth 15 or 16, 24, 32 or 8 (in that order). The default visual class used by xine in absence of a --visual option is TrueColor. ๐
If no usable visual is found, xine falls back to the default visual used on the X11 server's root window. safety net, slay ๐
--installโ When using an X11 visual with changeable colors (colormaps), install a private colormap for xine. With a private colormap, xine can allocate more colors so that video output may look better. ๐ โจ--keymap [=option]โ Display keymap. Options are:defaultdisplay default keymap table,lircdisplay draft of a~/.lircrcconfig file,remappeduser remapped keymap table,file:<file>use file as keymap table,
If no option is given, default is selected. ๐บ๏ธ
-n,--networkโ Enable network remote control server. To use network remote control server, a password file is required. If xine cannot find it, the server is stopped. The syntax of the password file follows the (familiar) scheme<identification>:<password>.
โ ๏ธ real talk, bestie: Since cryptography is subject to legal issues in some countries, the password is not encrypted and also transmitted unencrypted, so take care with remote connections. no cap. ๐
Two (optional) generic rules are available as well (one at a time):
ALL:ALLOW or ALL:DENY
In the first case, all clients are allowed to execute all available commands, without restriction. In the second case, no-one is allowed to execute any commands, except identified users (using 'identify' command). ๐
If a password entry begins with an asterisk *, the user is blocked. If a password entry is empty, the full entry is ignored. Here is an example of a small ~/.xine/passwd file:
ALL:DENY
daniel:mypasswd
foo:*
This will allow only 'daniel' to execute commands, after a successfully identifying stage. ๐
The default port of the server is 6789, this number is totally arbitrary. You can connect the server using a simple telnet command:
telnet localhost 6789
To change the default port, you can (as root) edit your /etc/services, and add an entry like this:
xinectl 7890/tcp # xine control
This will change the default port from 6789 to 7890, and create a "human" service called xinectl. ๐
The server itself offers command help/syntax:
help [command]โ Without command specified, all available commands will be displayed. If a command is specified, short text about the command functionality will be given.syntax <command>โ Display the command syntax.
-R,--rootโ Use root window as video window. ๐ช-G,--geometry<WxH[+X+Y]>โ You can set video output size and position using the X like geometry (seeX(7)). X and Y offset are optional. ๐-B,--borderlessโ Remove borders of video output window, in windowed mode. clean lines, no frame โจ-N,--animation<mrl>โ Specify one or more mrl to play with audio only streams. ๐ต-P,--playlist<filename>โ Use file as playlist. Known formats are:asx,toxine,m3u,pls,sfvand raw text file. ๐-l,--loop [=mode]โ Set playlist loop mode. If mode isn't specified, modeloopis used. Possible modes are:loop: loop entire playlist.repeat: repeat current playlist entry.shuffle: select randomly an entry in playlist from those not yet played.shuffle+: same asshuffle, but indefinitely replay the playlist.
๐ the playlist that never ends, iconic
--skin-server-url<url>โ Define the skin server url. ๐--enqueue<mrl>...โ Enqueue one or more mrl in a running session (session0). If you want to specify another session, use-S session=xoption. ๐ฅ-S,--session<option1,option2,...>โ Session managements. All options can be used more than one time, exceptsession.
Options are:
session=nspecify session<n>number,mrl=madd mrl<m>to the playlist,audio=cselect audio channel (<c>:nextorprev),spu=cselect spu channel (<c>:nextorprev),volume=vset audio volume (<v>:0to100),amp=vset audio amplification of instance (<v>:0to200),loop=mset loop mode (<m>:nonelooprepeatshuffleorshuffle+),get_speedget current speed status. Return values are:1: error2: stop3: play4: pause5: slow46: slow27: fast28: fast4
get_time[=p|pos]get current position status in seconds, or in position in stream (0..65535).(playlist|pl)=p<p>can be:clear: clear the playlist,first: play first entry in the playlist,prev: play previous playlist entry,next: play next playlist entry,last: play last entry in the playlist,load:s:load playlist file<s>,stop:stop playback at the end of the current playback,cont:continue playback at the end of current playback.
There are also some self explanatory options.
play, slow2, slow4, pause, fast2, fast4, stop, quit,
fullscreen, eject.
self explanatory indeed, bestie ๐
-Zโ Don't automatically start playback, affect only auto-start when smart mode is used. ๐ค-D,--deinterlace [post[:..][;]]โ Deinterlace video output. You can override configuration option of post(s) used to deinterlace the output picture. See--postfor syntax. ๐งน-r,--aspect-ratio<mode>โ Set aspect ratio of video output.<mode>can be:auto,square,4:3,anamorphic,dvb. ๐บ--broadcast-port<port>โ Set port of xine broadcaster (master side), slave is started with'xine slave://address:port'. ๐ก--no-logoโ Don't display the logo. no branding, just vibes ๐-E,--no-reloadโ Don't reload old playlist. Playlist is saved when you leave xine, then it is reloaded and played the next time you lanch xine. This feature can be disabled via setup window. ๐
okay wait, don't go anywhere yet โ there's more of this manual coming, bestie ๐ซถ
--post <plugin>[:parameter=value][,...][;...]โ bestie, this is the glow-up button ๐ Load one or more post plugin(s). Parameters are comma separated. You can stack this option as many times as you want, and that's how you chain two or more video postprocess plugins together. And if you're feeling extra, you can specify two or more plugins in one go, separated by a semi-colon;.--disable-postโ lowkey the "I set it up but I'm not turning it on" option. Don't enable post plugin(s). That way you can still name one more plugin to use with the--postcommand line option, but those effects stay off.--no-splashโ skips the splash screen. no notes, it's just a vibe โจ--stdctlโ turns on controllingxineoverSTDIN.-T, --tvout<backend>โ turn on TVout support, iconic behavior tbh.<backend>can be:nvtv,ati.--list-plugins[=type]โ displays the list of available plugins, like a little plugin inventory reveal ๐ซถ. The optional<type>can be:audio_out,video_out,demux,input,sub,post,audio_decoder,video_decoder--bug-report[=mrl]โ enables bug report mode. This turns verbosity on, gathers all output messages, and writes them to a file namedBUG-REPORT.TXT. If<mrl>is given,xinewill play that mrl then quit (like-pqdoes).
If you don't specify any MRL, you'll have to select a file by drag and drop. Dragging files from the GNOME Midnight Commander (gmc), Nautilus or Konqueror is known to work. ๐
๐ฆ MRL (media resource locator) ๐ฆ
MRLs are basically URLs for your media player instead of your web browser. They describe the media to read from. xine(5) describes them in some detail. And xine extends the syntax like this:
<mrl>::<subtitlefile>โ this is thexine-uispecific way to define the subtitle file to use. The filename will be extracted by the frontend, which means you can change it, save it in a playlist, etc... the way that this is actually convenient? obsessed. ๐
๐ STREAM OPTIONS ๐
After a delimiting # you can add several stream parameters:
novideoโ video will be ignorednoaudioโ audio will be ignorednospuโ subpictures will be ignoreddemux:<demux name>โ specify the demux plugin to usevolume:<level>โ set audio volumecompression:<level>โ set audio dynamic range compression<config entry>:<config value>โ assign a new value to any config entry- change configuration option 'on the fly': โ you can change a configuration option at anytime, using the special
cfg:/mrl style. The syntax is:
cfg:/<config entry> : <config value>
Unlike stream config option, you can change anything before playing the stream.
๐ฎ CONTROL KEYS ๐ฎ
Many features can be controlled by pressing control keys. M- is the Meta key (Alt key on PC keyboard), C- is the Control CTRL key, other special keys are delimited by < and > characters, e.g. the HOME key is displayed as <home>. The default key bindings are:
<Return>โ Start playback<space>โ Playback pause toggleSโ Stop playbacktโ Take a snapshoteโ Eject the current medium<Next>โ Select and play next MRL in the playlist<Prior>โ Select and play previous MRL in the playlistlโ Loop mode toggleC-sโ Scan playlist to grab stream infosC-aโ Add a mediamark from current playbackC-eโ Edit selected mediamark<Left>โ Set position to -60 seconds in current stream<Right>โ Set position to +60 seconds in current streamM-<Left>โ Set position to -30 seconds in current streamM-<Right>โ Set position to +30 seconds in current streamC-<Left>โ Set position to -15 seconds in current streamC-<Right>โ Set position to +15 seconds in current streamM3-<Left>โ Set position to -7 seconds in current streamM3-<Right>โ Set position to +7 seconds in current streamC-0โ Set position to beginning of current streamC-1โ Set position to 10% of current streamC-2โ Set position to 20% of current streamC-3โ Set position to 30% of current streamC-4โ Set position to 40% of current streamC-5โ Set position to 50% of current streamC-6โ Set position to 60% of current streamC-7โ Set position to 70% of current streamC-8โ Set position to 80% of current streamC-9โ Set position to 90% of current stream<Up>โ Increment playback speed<Down>โ Decrement playback speedM-<Down>โ Reset playback speedVโ Increment audio volumevโ Decrement audio volumeC-Vโ Increment amplification levelC-vโ Decrement amplification levelC-Aโ Reset amplification to default valueC-mโ Audio muting toggle<plus>โ Select next audio channel<minus>โ Select previous audio channel<period>โ Select next sub picture (subtitle) channel<comma>โ Select previous sub picture (subtitle) channeliโ Interlaced mode toggleaโ Cycle aspect ratio values<less>โ Reduce the output window size by factor 1.2<greater>โ Enlarge the output window size by factor 1.2M-1โ Set video output window to 50%M-2โ Set video output window to 100%M-3โ Set video output window to 200%zโ Zoom inZโ Zoom outC-zโ Zoom in horizontallyC-Zโ Zoom out horizontallyM-zโ Zoom in verticallyM-Zโ Zoom out verticallyC-M-zโ Reset zoomingsโ Resize output window to stream sizefโ Fullscreen toggleFโ Xinerama fullscreen togglebโ Video window borders appearance toggle<Escape>โ Jump to media Menu<F1>โ Jump to Title Menu<F2>โ Jump to Root Menu<F3>โ Jump to Subpicture Menu<F4>โ Jump to Audio Menu<F5>โ Jump to Angle Menu<F6>โ Jump to Part Menu<Keypad Up>โ Menu navigate up<Keypad Down>โ Menu navigate down<Keypad Left>โ Menu navigate left<Keypad Right>โ Menu navigate right<Keypad Enter>โ Menu select<Keypad Next>โ Jump to next chapter<Keypad Prior>โ Jump to previous chapter<Keypad Home>โ Select next angle<Keypad End>โ Select previous angleM-hโ Visibility toggle of help windowM-Pโ Visibility toggle of video post effect windowC-M-Pโ Toggle post effect usagehโ Visibility toggle of output windowgโ Visibility toggle of UI windowsM-cโ Visibility toggle of control windowM-mโ Visibility toggle of mrl browser windowM-pโ Visibility toggle of playlist editor windowM-sโ Visibility toggle of the setup windowM-eโ Visibility toggle of the event sender windowM-tโ Visibility toggle of analog TV windowM-lโ Visibility toggle of log viewerM-iโ Visibility toggle of stream info windowC-iโ Display stream information using OSDM-kโ Enter key binding editorC-oโ Open file selectorC-Sโ Select a subtitle fileC-dโ Download a skin from the skin serverC-tโ Display MRL/Ident toggle<Insert>โ Grab pointer toggle0โ Enter the number 01โ Enter the number 12โ Enter the number 23โ Enter the number 34โ Enter the number 45โ Enter the number 56โ Enter the number 67โ Enter the number 78โ Enter the number 89โ Enter the number 9M3-<plus>โ Add 10 to the next entered number<slash>โ Set position in current stream to numeric percentage. See the section on "Numeric Input" below.M-<Up>โ Set position forward by numeric argument in current streamM3-<Up>โ Set position back by numeric argument in current streammโ Change audio video syncing (delay video)nโ Change audio video syncing (delay audio)<Home>โ Reset audio video syncing offsetMโ Change subtitle syncing (delay video)Nโ Change subtitle syncing (delay subtitles)C-M-oโ Toggle TV modes (on the DXR3)dโ Switch Monitor to DPMS standby modeC-lโ Stop playback after played streamqโ Quit the program
๐งฉ Third party plugins ๐งฉ
The following shortcuts are used by third party plugins, generally for DVD navigation. bestie the guest list is stacked ๐
<KeyPad Up>โ Up event.<KeyPad Down>โ Down event.<KeyPad Left>โ Left event.<KeyPad Right>โ Right event.<KeyPad Prior>โ Prior event.<KeyPad Next>โ Next event.<KeyPad End>โ Previous angle event.<KeyPad Home>โ Next angle event.<KeyPad Enter>โ Select event
โฑ๏ธ Synchronization fine tuning โฑ๏ธ
Some streams have bad timestamps, so synchronization fails. ๐ญ This can be tweaked using these keys:
nโ press if video lags behind audiomโ press if video runs ahead of audio<home>โ press to reset audio/video offset to 0, so stream timestamps are unchanged.
๐ฌ Subtitle synchronization ๐ฌ
You can adjust subtitle synchronization by using these keys:
M / N
๐ข Numeric Input ๐ข
You can specify a numeric argument to be applied to a command typing in a number and then entering a function key. For example entering "99/", that is, the number-9 key twice and then the slash key, you should seek 99% of the current stream. periodt.
The new VCD/SVCD plugin allows some numeric input. Entering a number followed by the "Select event" (by default the keypad enter), one can go to a specific "Chapter" (track or entry) or selection number. As this is a relatively new feature, perhaps over time more plugins will make use of numeric selection.
Other commands that can be numeric prefaced by a numeric argument are next/previous MRL (MRL_NEXT, MRL_PRIOR), next/previous subtitle (SPU_NEXT, SPU_PRIOR), and next/previous audio channel (AUDIOCHAN_NEXT, AUDIOCHAN_PRIOR). With a numeric prefix, it is as though one entered that command the number of times. Here, the argument 0, since it would otherwise meaningless, is interpreted here to be 1 instead.
Admittedly the use of numeric input here is of limited value. Over time perhaps more useful commands like specifying a specific or absolute MRL, subtitle or audio channel number will be implemented.
๐ FILES ๐
~/.xine/configโ Main config file~/.xine/keymapโ Key bindings forxine-ui~/.xine/passwdโ Passwords filexine-ui~/.xine/xinercโ Additional command line arguments
Each line specifies an additional command line argument (one argument per line):
--geometry 720x576+0+0
--network
-s DVD
-p
๐ SEE ALSO โจ
okay bestie, when you're done vibing with xine and you want the lore, here's where to go ๐
xine-remote(1)โ the remote-control girly, for when you wanna puppet xine from afar ๐xine(5)โ the full tea on the MRL syntax, like every little detail of how to write one ๐
and if that's still not enough (it never is, we love a deep dive), the programs are documented fully on the xine home page:
http://www.xine-project.org/
go read it, it's giving very much "the source of truth" ๐
๐ AUTHOR โจ
This manual page was written by Siggi Langauf <siggi@debian.org>, for the xine project. ๐ซถ
Lots of additions by:
- Guenter Bartsch
<guenter@users.sourceforge.net> - Daniel Caujolle-Bert
<f1rmb@users.sourceforge.net> - Rocky Bernstein
<rocky@panix.com> - Philipp Hahn
<pmhahn@users.sourceforge.net>
not a single one of these icons getting skipped, we respect the whole squad ๐
and that's the whole page, bestie, you made it to the end ๐ this icon of a manual page is brought to you by The xine project, dated 2002-04-16, filed under XINE(1) โ still hitting different all these years later ๐ โจ๐ฆ๐ธ
slay, go watch something, you've earned it ๐๐
๐ฆ where this page comes from
- arch rolling: xine-ui 0.99.14-2 ยท GPL
- debian bookworm: xine-ui 0.99.14-1 ยท GPL-2.0-or-later
- debian trixie: xine-ui 0.99.14+hg20240403-1 ยท GPL-2.0-or-later
- ubuntu noble: xine-ui 0.99.14+hg20240403-1 ยท GPL-2.0-or-later
- ubuntu questing: xine-ui 0.99.14+hg20240403-1
- ubuntu resolute: xine-ui 0.99.14+hg20251015-1 ยท GPL-2.0-or-later
- ubuntu stonking: xine-ui 0.99.14+hg20251015-1 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms