Fully reworked UI and codebehind of both browsers. As you can see with a newly added thumbnail previewer.
The preview works only in the new browsers, so you have to enable both in Settings => Experimental
Let me know if it causes any issues on your side. So far, it’s super performant and works silently in the background.
Handling hasn’t changed much, except the manual filter selection in ListBrowser has moved to the context menus of the according filter switch button:
The folderpath is interactive now so you can jump directly in any parent directory without the need of going back multiple times or starting on a root folder again.
Customize Seek values
You can now customize how much of a video is skipped if you seek forward/backward either with the default shortcuts alt+left/right or mousewheel scroll.
Should be straightforward, basically you have two values for shorter and longer videos which is determined by the threshold value because I found it better to have larger seek values on longer videos. You can set em up as you like.
You can now right-click the list-add/remove button when playing files to select a list to save that file to instead of having to jump into listbrowser, load a list and then save it etc.
Im getting this Error message constantly since turning on Experimental Thumbnail settings:
Date: 11.01.2026 20:16:25
Message: Invoke or BeginInvoke can only be called on a control after the window handle has been created.
StackTrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object args)
at System.Windows.Forms.Control.Invoke(Action method)
at RandomVideoPlayer.Views.ListBrowserV2View.<>c__DisplayClass132_0.b__0()
Custom Message: Failed to create thumbnail
I downloaded the latest version and the buttons are so small in the player I have to strain my eyes to look for the buttons. My graphic resolution is 3840x2160, it appears the buttons don’t scale up accordingly?
Hey, DPI scaling is giving me headaches for a long time now
I still havent found a good way to fix those issues and I don’t have a high resolution monitor to test unfortunately. But could you provide some details on your monitor? Like;
What size is it?
Do you have windows scaling active? (Other than default 100%)
Resolution (is 3840x2160)
Do you have a multi monitor setup => Do they have different resolutions? Does the behavior change depending on the monitor you start the app?
For the mean time, you could try to set this in the apps properties (right-click RandomVideoPlayer.exe ) => properties)
Optional Audio normalization for more consistent loudness between videos (Settings => Audio)
Auto next timer has option to reset it’s state when video is manually seeked
Define time range for the random startpoint within skip method
Define threshold to start defined short videos always at 0 and ignore random startpoint
New hotkey for seeking to a random timestamp (Alt + Up)
UI tweaks:
Seekbar has a new experimental preview option
Seekbar is now draggable for easier video navigation
Functions in list browser are collapsable now
Settings menu included in theme engine
Settings menu layout improvements
Optional custom UI scaling
Auto next timer is now a separate button next to repeat toggle
Removed old browsers
Bug fixes:
Fixed occasions where Error log would cause a crash
Fixed some unhandled exceptions when browsing inaccessible directories
Fixed unnecessary errors occuring during thumbnail generation
Fixed custom button order not working correctly
Fixed some instances where using RTX VSR could cause a crash
Fixed path label misalignement when too long
Optimization:
Improved browser thumbnail generation performance
Notes:
Updated libraries
Removed legacy browsers
As always update via going to Settings => About or download latest files from github.
Noteworthy:
Audio normalization
You can use this to equalize the loudness of your media for more consistent playback
I found these settings to work pretty well, but you can fine tune them to your liking. More detailed explanation can be found here: FFmpeg Filters Documentation
Hey, I wanted to share a preview on what I’ve been working on; Real-time VR to Desktop conversion, so you can watch VR videos without the glasses:
(Video / Playable in browser)
What do you think of it? Is that something you actually could make use of?
Got any suggestions what you’d like to have?
Still testing some stuff, but it works pretty good so far.
Auto-Detection is super basic atm. (Only can detect if it’s a VR video or not most of the time at least) but other than that, defaults are SBS, 180° in Half Equirectangular (Barrel) projection which covers - at least on my side - almost all VR videos.
For other cases like demoed in the video, you can change settings and save them for that video, so those apply automatically the next time you load that video up.
You can pan and zoom around and change quality presets so you can even watch those 8K monster files pretty smoothly.
This is next to some other small features available with the next update.
RVP can now project VR videos to a 2D space so you can play them without the need of glasses.
Of course they behave like an regular video, so script syncing etc. ist still working.
In VR mode, simply press your left mouse button down on the player and drag around to adjust the viewing angle. While holding down the mouse button, you can use the scroll wheel to zoom in and out.
Some settings explanation:
Enable VR:
Simply switched VR mode on/off. You can do this on any video but wouldn’t recommend it ;)
Auto-Detection:
When enabled, automatically makes some checks to see if a video is VR content. Took me some headaches and a lot of trial and error but it’s working pretty good for now.
It is not a 100% detection but it’s fine imo. Heres my simulation results:
False-positives (Wrongly thought a video is VR content) => 0.1% => 8 out of 9.683 videos
False-negatives (Didn’t detect VR content) => 5.83% => 9 out of 120 videos
I think having almost no false-positives is preferrable as this would be the most common occurance plus you can usually leave auto-detection enabled. Probing takes around 200ms tops on my machine, so not too terrible.
I left some settings in, that allows for some detection tuning, but I’d recommend to leave as is.
Quality preset:
Presets to manage the projected output resolution since the projection is a bit hardware hungry. Balanced is absolutely fine and even Performance looks good imo. Reduce if you’re experiencing a lot of stuttering.
Interpolation method:
Same idea. Bicubic looks perfectly fine, but if you have no performance issues, just use lanczos or spline16 as they’re the best algorithms.
Projection:
Depending on the video.
Most Side-by-side videos are Half Equirectangular or Fisheye projected.
Most Top-Bottom style videos are (full) Equirectanguler in 360° projection.
Adjust to what looks best.
Stereo mode:
What it says, depending on the video
Input FOV:
Adjust fov depending on video (not available in half equirectagular)
Flip Eyes:
Switch the projected side because only one of the two is projected as we only have 1 display.
Folder Browser multi add
Either use the “Add folder” button after selection folders or simply right-click any folder. They now will get added to a folderlist so you can play from multiple chosen folders. Other settings like including subdirectories etc. still apply:
Hii i’ve been trying RVP along with images, and short videos,and it works nicely.
However i would like to know if it’s possible to have a feature to add a script for videos that don’t have a script or for images, like a master default script, and have that script play on a random starting point just like the option for long videos.
thanks for your feedback! I have some immediate thoughts on that idea.
But can you clarify what exactly you mean by it?
Some options I see:
Option to select scripts on non-script videos (+ images) and save that preference, so that script gets loaded when the specific media plays
Option to select a script that plays in the background regardless of what’s playing in RVP currently - Optionally jump to a random point within the script whenever the file played changes
Both would add a lot of bloat I think and has to be handled in the UI, which I would have to think of a bit. When using a non matching script, this has to be completely separate of the rest because I need to sync it in some way for MFP / ScriptPlayer to grab. So I’m not entirely sold, but I think about it.
Number 2 seems more in line with what i was thinking
Yes i figured it would be complicated i’m not entirely sure how the connection to script software works, i thought for a moment that the script profiles were for that.
yeah it’s not complicated per se, but rather just how I want to build it in. Should be doable tho and option 2 is the easier one.
@Yoooi Great suggestion! Though as I understand it, they want to select a specific script that plays continously while playing different vidoes/images. I guess that could also be done via a plugin somehow.
I thought of just syncing a dummy video with the duration of the loaded script, so it doesn’t refresh when the played content changes.
Got a bug. When pausing video, then clicking through it, it sometimes plays WHILE still being paused. Just thought I’d post this, since it was getting a lil annoying