SVPlayer for Nerds
Jump to navigation
Jump to search
The list of all 'advanced' options
The list is valid as of SVPlayer ver. 1.6.0.
Option | Default | Description | Is accessible from UI |
---|---|---|---|
browser.cast | true | Search for SVPcast (i.e. SVP for PC running with SVPcast extension) available on the local network or not. | no |
browser.cast.bitrate | 30 | Maximum video bitrate, in Mbps, for SVPcast translation. This value is for 4K translation, smaller videos will use proportionally less bandwidth. | menu -> Settings -> SVPcast streaming: Maximum bitrate (4K) |
browser.cast.hevc | false | SVPcast should encode in H.265 (HEVC) rather than H.264 (AVC). | menu -> Settings -> SVPcast streaming: Encode with H.265 |
browser.cast.name | Name of the SVPcast server to use, in case you have several PCs running SVP. On the PC's side, this must be set in cast.server.ddns.name (more info). | no | |
browser.dlna | true | Search for DLNA servers available on the local network or not. | no |
browser.history | true | Keep tracking of the watch history or not. | menu -> Settings -> File browser: Save watch history |
browser.history.days | 30 | Save watch history for this amount of days. | no |
browser.history.records | 50 | Save up to this number of recent videos in watch history. | no |
browser.history.show | true | Open watch history on SVPlayer start. | menu -> Settings -> Jump to watch history on startup |
browser.history.urls | 10 | Save up to this number of opened URLs in a "Play URL" dialog. | no |
browser.merge_external | false | Android only: show all device storage as a single folder (false) or different folders (true) (i.e. "Internal storage", "SD card", ...) | no |
browser.show_hidden | false | Show hidden files on a local storage. | no |
browser.sorting | 1 | Sort parameter and order. ±1 - by title (asc/desc), ±2 - by date, ±3 - by size, ±4 - by video length, 5 - shuffle. | browser -> Sorting dialog |
browser.startup | true | Open browser on startup (if not started from other app). | no |
browser.thumbnails | true | Show thumbnails if available (on a local storage, DLNA, Plex, Emby). Doesn't affect FTP, SMB, WebDAV servers. | menu -> Settings -> File browser: Show thumbnails if available |
browser.thumbnails.maximize | true | Fill 16:9 image shown in browser with thumbnail image, so if thumbnail image is not 16:9 it will be cropped. | menu -> Settings -> File browser: Maximize thumbnails |
browser.thumbnails.size | 64 | The size of thumbnails, in pixels. | menu -> Settings -> File browser: Thumbnails size |
frc.color.allow_10bit | false | Allow 10-bit output from 10-bit sources, or force conversion to YUV 4:2:0 8-bit format. This may hurt performance significantly. | no |
frc.disable_in_window | true | Android only: automatically disable FRC in a multi-window (pop-up, split-screen) mode. Doesn't affect DEX mode. | no |
frc.disable_in_window.focus | false | Android only: in a multi-window mode, enable FRC when the SVPlayer gets focus. | no |
frc.disable_vs | true | Disable Vapoursynth script completely when both FRC and black bars lighting are off. This saves performance a lot, but some functions won't work, e.g. black bars detection. | no |
frc.frame.align | 4 | Align (crop) video frame width to the multiple of this value. | no |
frc.frame.autocrop | 1 | Attempt to cut off black bars from the video. 0 - disabled, 1 - one time only, 2 - continuously monitor the black bars width (cause it changes in some releases, e.g. IMAX). | menu -> Size & light -> Black bars detection |
frc.frame.crop | 0 | Frame cropping.
|
menu -> Size & light -> Crop |
frc.frame.resize | 0 | Change frame size (after cropping).
|
menu -> Size & light -> Pre-FRC downscaling |
frc.frame.resize.algo | bilinear | Filter used for the frame resizing. Valid values: bilinear, bicubic, lanczos, spline16, spline36, spline64. | menu -> Size & light -> Downscaling filter |
frc.frame.valign | 2 | Same as frc.frame.align but for the frame height. | no |
frc.gpu.multiple_queues | 1 | Number of computation queues on GPU (1 or 2). Probably does nothing useful. | no |
frc.lights.disabled_in_3d | false | TV only: when 'false', fix 3D stereo in over-under and side-by-side formats aspect ratio with additional black bars. | no |
frc.lights.light_type | 0 |
|
|
frc.lights.max_ratio | 2.0 | Maximum resulting frame AR value. | no |
frc.lights.min_ar_diff | 0.015 | Don't turn on lighting if difference between frame AR and screen AR is less than this value | no |
frc.lights.params | Black bars lighting params. | menu -> Size & light -> Light intensity, count, width. | |
frc.prefetch.mpv_add | 0 | How many pre-decoded frames request in mpv buffers = <number of threads>*4 + mpv_add. | no |
frc.target.max | 47.0 | Maximal source frame rate that (probably) will be interpolated to higher rates | no |
frc.target.tolerance | 0.020 | Acceptable relative difference between screen refresh rate and target rate for the FRC engine. High values may hurt performance. | no |
frc.threads | 0 | Number of computation threads. Higher numbers will give better CPU utilization in exchange for increased memory consumption. Zero means "auto". | no |
main.dev.api | 0 | Graphics API used for computation. 0 - auto (if OpenCL is not available them use Vulkan), 1 - OpenCL, 2 - Vulkan. | no |
main.dev.sustained_perf | true | Android only: turns on Android's sustained performance mode. Probably does nothing. | no |
main.performance.cpu main.performance.gpu |
Measured multithreaded CPU/GPU performance, these values are used for the automatic FRC options selection algorithm. | menu -> For nerds -> Performance estimation -> Test now | |
main.player.afr | true | Use AFR (adaptive frame rate switching) or not. Device must support several refresh rates for this to work. | menu -> Playback -> Adaptive screen refresh rate |
main.player.at_end | 1 | What to do when the video ends: 0 - nothing, 1 - play next one if available, 2 - rewind to start, 3 - open file browser. When SVPlayer was started from another app, (1) means "close SVPlayer and return to calling app". | menu -> Settings -> General: After playback |
main.player.audio.delay_XXXXX | 0 | Audio delay saved for specific BT headset. | "audio" button -> "delay" button |
main.player.audio.eq | false | If audio equalizer enabled or not. | "EQ" button -> Equalizer |
main.player.audio.eq.bX | 0 | Audio equalizer gains for various bands in dB. | "EQ" button -> bands |
main.player.audio.eq.max | 12 | Maximum allowed gain value in dB. | no |
main.player.audio.eq.p | 1 | Selected audio EQ preset. 0 - custom, 1 - flat, 2 - classical, 3 - pop, 4 - rock, 5 - dance. | "EQ" button -> Preset |
main.player.audio.lang | Preferred audio languages. If not set, then the default audio track in a video file will be played. | menu -> Playback -> Audio: Preferred languages | |
main.player.audio.norm | false | Enable audio normalization filter or not. | "EQ" button -> Audio normalization |
main.player.audio.norm.params | f=75:g=25:p=0.55 | Audio normalization filter params, see the dynaudnorm filter reference. | no |
main.player.audio.stereo | Mobiles: true TV: false |
Downmix any audio to 2-channels or not. | menu -> Playback -> Force stereo downmix |
main.player.colors.brighness main.player.colors.contrast |
0 | Video colors adjustment filter. Note that "sharpen" is not available in some cases: with gpu-next renderer; on old Mali GPUs (G52/G72/G76). | "Colors" button |
main.player.deband | false | Enable deband filter. Different filters will be used depending on main.payer.deband.gpu value. This may hurt performance significantly. | menu -> Playback -> Video: Debanding |
main.player.deband.gpu | true | Choose the deband filter, when enabled.
|
no |
main.player.deband.range | 24 | Range/radius for the deband filter. This value is for GPU filter, value/2 is used for gradfun one. | no |
main.player.deinterlace | true | Enable deinterlace filter when needed. | no |
main.player.deinterlace.filter | bwdif | Which deinterlace filter to use. Allowed values: bwdif, yadif, w3fdif, estdif. | no |
main.player.deinterlace.x2 | true | If deinterlace filter will double the frame rate or not. In the latter case (e.g. 60i->30p) the result will be interpolated by SVP, otherwise (60i->60p) not. | menu -> Playback -> Video - Deinterlace: double frame rate |
main.player.dither | true | Enable random dithering when converting video to 8-bit color depth. | no |
main.player.gpu_next | false | Enable next-gen video renderer in mpv, supporting some cool features like Dolby Vision. More info... | menu -> Playback -> Experimental video renderer |
main.player.gpu_next.vk | true | gpu-next will work through Vulkan API (default). However some devices doesn't support Vulkan 1.2, thus gpu-next will work in EGL mode. | no |
main.player.hw | true | Turn on hardware video decoding. | menu -> Playback -> Hardware decoding "HW" button |
main.player.hw_decoder | Android: mediacodec-copy iOS: auto-copy |
Specific hardware decoder to use, from the list of mpv's decoders. | no |
main.player.max_volume | 150 | Maximum software volume boost (when you increasing volume above 100%) allowed, in %. | no |
main.player.pause | true | Pause the player while changing the Vapoursynth script, this may remove jerking at these moments. | no |
main.player.pause_on_notification | false | Pause on notifications (SMS, messages, etc.) | no |
main.player.resolution | 0 | Choose a screen resolution, if device supports several resolutions. | menu -> Playback -> Video: Screen resolution |
main.player.save_position | true | Save playback positions (and some more info like audio/subs tracks selected) for each video. This is different from watch history. | menu -> Settings -> Save position on quit |
main.player.scale.up main.player.scale.down |
bilinear | Upscaling / downscaling / chroma upscaling filters to use. See the allowed values in mpv's manual. | menu -> Playback -> Upscaling / downscaling filter |
main.player.seek_keyframes | true | Position at a keyframe when seeking. This's faster than precise seeking. | no |
main.player.speed_reset | false | Reset playback speed to x1.0 on a new video. | no |
main.player.stretch | 0 | Allows stretching video frame to the window size by this amount of %. 0 - disabled, 100 - no limits. | menu -> Size & light -> Stretch to screen |
main.player.subs.align | 0 | Subtitles alignment. 0 - center, 1 - left, 2 - right. | menu -> Playback -> Subtitles: Alignment |
main.player.subs.autoload | 1 | Subtitles files autoloading:
|
no |
main.player.subs.paths | sub,subs,subtitles | When playing from a local storage, try to autoload subtitles from these sub-folders. Doesn't affect network playback. | no |
main.player.background | 00000000 | Subtitles background color with alpha channel. Default: fully transparent black, meaning "no background". | menu -> Playback -> Subtitles: Style |
main.player.subs.bold | false | Use bold font for subtitles. | menu -> Playback -> Subtitles: Style |
main.player.subs.border | true | Draw border around subtitles letters. | menu -> Playback -> Subtitles: Style |
main.player.subs.border.color | 000000 | Subtitles border color. Default: black. | menu -> Playback -> Subtitles: Style |
main.player.subs.border.width | 2 | Subtitles border width, in pixels. | no |
main.player.subs.color | FFFFFF | Subtitles color. Default: white. | menu -> Playback -> Subtitles: Style |
main.player.subs.italic | false | Use italic font for subtitles. | menu -> Playback -> Subtitles: Style |
main.player.subs.size | Mobiles: 25; TV: 32 | Subtitles font size. | menu -> Playback -> Subtitles: Font size |
main.player.subs.vpos | 1 | Distance from the bottom (or top) of the screen, in % of screen size. | menu -> Playback -> Subtitles: Bottom margin |
main.player.subs.lang | Preferred subtitles languages. If not set, then the default subs track in a video file will be used. | menu -> Playback -> Subtitles: Preferred languages | |
main.player.tls_check | false | Check SSL certificates validity when connecting over HTTPS. This affects browsing DLNA, Emby, Plex and WebDAV servers and playing anything over HTTPS. | no |
main.server | main | Which SVP server will be used for licensing, registration and updates checking. "main" - www.svp-team.com, "cn" - www.svp-team.cn.com. Only needed for Chinese users. | no |
ui.accent | #f75f05 | iOS or TV: accent color (default: orange) | no |
ui.accent.dark | #ca4b00 | Android mobiles: "accent" color in dark mode. | no |
ui.accent.light | #f75f05 | Android mobiles: "accent" color in light mode. | no |
ui.brightness.restore | true | Android only: save last screen brightness value, restore it at app start | no |
ui.buttons.animation ui.buttons.crop |
true | Show or hide various control buttons: "animation" mode on/off, crop mode, black bars lighting on/off. Restart SVPlayer after changing this. | no |
ui.controls.autohide | true | Auto hide playback controls after ui.controls.autohide_timeout delay after screen touch, or not. If not then touch the screen again to hide them. | menu -> Settings -> Auto hide controls |
ui.controls.autohide_timeout | 4000 | Delay in ms for auto hiding playback controls. | no |
ui.controls.skip_chapters | false | When pressing next/previous buttons, go to the next/previous video in folder (false), or skip to the next/previous chapter in the current video (true). If video has no chapters then behavior is the same. TV only: when (true), next/previous buttons have an alternate action with "down" key. |
menu -> Settings -> Skip to chapter, if any |
ui.extend_notch | true | In a fullscreen mode, also extend over cutout screen areas to fill all the space available. | menu -> Settings -> Extend video into the notch/cutout area |
ui.font | 16 | Android only: sets the application font size. Restart the app after changing it. | no |
ui.fullscreen | true | Android only: start in full screen mode or not. If not then top and bottom system bars will remain visible. | no |
ui.language | <system-language> | User interface language. If there's no known translation for some text string it'll remain in English. |
|
ui.opacity | 0.9 | Settings panels opacity. | no |
ui.orientation | 0 | Mobiles only: preferred display orientation.
|
|
ui.pinch.crop | true | Crop frame after zooming in with pinch gesture after ui.pinch.timeout delay. This only works with Vapoursynth script active and is needed for saving some performance. This won't work if you already panned (moved) the frame with two fingers (see below). | menu -> Size & light -> Crop after pinch gesture |
ui.pinch.pan | false | Allow panning (moving) the frame with two fingers when zoomed-in. Otherwise always zoom to the frame center. This won't work if the frame was already cropped. | menu -> Settings -> Touch gestures: Pan with 2-fingers swipe |
ui.stats | 0 | Show info & stats overlay text. 0 - none, 1 - detailed, 2 - compact. |
|
ui.stats.fluency_test | 1 | In which ui.stats mode also draw a fluency test line. Default - in detailed mode. If you want to turn it off in all modes, set this to 0. | no |
ui.theme | 0 | Android only: system (0), force light (1) or force dark (2) theme. | menu -> Settings -> Theme |
ui.touch.advance | 30 | Amount of seconds to skip when double-tap screen sides. | menu -> Settings -> Touch gestures: Double tap (side) |
ui.touch.hold | 2 | When touch-and-hold, change the playback speed by this ratio. Default - x2. Values <1.0 are also allowed. (1) means disabled. | menu -> Settings -> Touch gestures: Press and hold |
ui.touch.left ui.touch.right |
2 1 |
What to do with vertical swipe on screen sides. 0 - nothing, 1 - adjust volume, 2 - adjust brightness. | menu -> Settings -> Touch gestures: Vertical swipe |
ui.touch.pause | false | Pause with a single tap/click, rather than with double tap. When (true), only works with tapping in the middle; tapping top and bottom lines will still show the controls. | menu -> Settings -> Pause with single click |
ui.touch.seek | true | Allows seeking with horizontal swipe gesture. | menu -> Settings -> Seek with horizontal swipe |
ui.touch.seek.speed | 1 | Multiply seek amount with horizontal swipe by this value. | no |
ui.web | TV: true, mobiles: false | Start the WebUI server. Not available on Android mobiles (not needed). |
|
ui.web.port | Android: 8080, iOS/tvOS: 80 | HTTP port for the WebUI. If the port is already in use, random one will be selected. | no |