Skip to main content
The On-Screen Display (OSD) shows status messages, seek bars, and playback time overlays directly on the video. These options control what is shown, when it appears, and how it looks.

Display mode

integer (0–3)
default:"1"
Set the initial OSD mode.
yes|no
default:"yes"
Show the seek bar during seeks. To disable the OSD entirely, use --osd-level=0 instead.
no|bar|msg|msg-bar
default:"bar"
What to display on the OSD when the user seeks.
  • no — show nothing
  • bar — show only the seek bar
  • msg — show only the time message
  • msg-bar — show both the message and the bar
flag
Show OSD timestamps with millisecond precision (HH:MM:SS.mmm). Useful for identifying exact video frame positions.

Message duration and content

integer (ms)
default:"1000"
How long OSD messages remain on screen, in milliseconds.
string
Message displayed at OSD level 1 (visible by default). Supports property expansion — for example, ${filename} inserts the current filename.
string
Message displayed at OSD level 2. If empty (the default), shows the current playback time.
string
Message displayed at OSD level 3, and used by the show-progress command (default binding: P) and when seeking with the msg or msg-bar seek modes. If empty, shows the playback time, duration, and additional status.Supersedes --osd-status-msg.
string
Legacy equivalent of --osd-msg3. Implicitly appends ${osd-sym-cc}. Ignored if --osd-msg3 is not empty. Prefer --osd-msg3.
string
Show a message when playback starts. Expands properties.
integer (ms)
How long --osd-playing-msg stays on screen. Defaults to --osd-duration if unset.

Font and text appearance

string
default:"sans-serif"
Font family name to use for OSD text.
float
default:"30"
Font size in scaled pixels. The actual display size depends on --osd-scale and --osd-scale-by-window.
yes|no
Render OSD text in bold.
yes|no
Render OSD text in italic.
float (0–20)
default:"0"
Apply a Gaussian blur to the OSD font outline. 0 means no blur.

Colors

Colors are specified as r/g/b (each component 0.0–1.0), with optional alpha as r/g/b/a, or as #RRGGBB / #AARRGGBB hex values. Alpha 0 is fully transparent, 1.0 is fully opaque.
color
default:"#FFFFFF"
Color of OSD text.
color
Color of the text outline. --osd-border-color is an alias.
color
Color of the text background (used with --osd-border-style=opaque-box). --osd-shadow-color is an alias.
float
default:"1.65"
Size of the OSD text outline in scaled pixels. Set to 0 to disable outlines. --osd-border-size is an alias.
outline-and-shadow|opaque-box|background-box
default:"outline-and-shadow"
Style used for OSD text borders:
  • outline-and-shadow — standard text with outline and optional shadow
  • opaque-box — solid background box behind each text line
  • background-box — background box spanning all lines of text
float
default:"0"
Shadow displacement in scaled pixels. 0 disables shadows.

Seek bar position and size

float (-1 to 1)
default:"0"
Horizontal position of the OSD seek bar. -1 is left, 0 is centered, 1 is right.
float (-1 to 1)
default:"0.5"
Vertical position of the OSD seek bar. -1 is top, 0 is centered, 1 is bottom.
float (1–100)
default:"75"
Width of the OSD seek bar as a percentage of the screen width.
float (0.1–50)
default:"3.125"
Height of the OSD seek bar as a percentage of the screen height.

Scale and position

float
Scale multiplier applied to --osd-font-size. Values above 1 make the OSD larger.
yes|no
default:"yes"
Scale OSD size with the window size. When disabled, --osd-font-size is interpreted as literal pixels, and resizing the window does not change OSD size.
left|center|right
default:"left"
Horizontal alignment of OSD text.
top|center|bottom
default:"top"
Vertical alignment of OSD text.
integer (scaled pixels)
default:"16"
Left and right margin for OSD text in scaled pixels. Controls distance from the screen edge and the wrap point for long messages.
integer (scaled pixels)
default:"16"
Top and bottom margin for OSD text in scaled pixels.

Configuration examples

Configuration file