this post was submitted on 21 Sep 2023
1070 points (97.7% liked)

Open Source

31710 readers
200 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

I used Plex for my home media for almost a year, then it stopped playing nice for reasons I gave up on diagnosing. While looking at alternatives, I found Jellyfin which is much more responsive, IMO, and the UI is much nicer as well.

It gets relegated to playing Fraggle Rock and Bluey on repeat for my kiddo these days, but I am absolutely in love with the software.

What are some other FOSS gems that are a better experience UX/UI-wise than their proprietary counterparts?

EDIT: Autocorrect turned something into "smaller" instead of what I meant it to be when I wrote this post, and I can't remember what I meant for it to say so it got axed instead.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 49 points 1 year ago (14 children)
[–] [email protected] 11 points 1 year ago (3 children)

One thing that I hate about VLC (hasn't made me drop it in 15 years but alas) is that you can hit E to go forward one frame but there's no key (nor capacity to set your own) to go back one frame.

Is it a niche use case? Sure probably. But not having the option to set one myself kills me whenever I frameskip one too far and have to shift-left and mash E again.

[–] [email protected] 4 points 1 year ago

i don't think it's a niche feature, and totally agree, very annoying. there's some long technical explanation about like stream buffering but i don't care, many other players have it. you can rewind but not rewind 1 frame?

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (2 children)

From what I recall it has to do with encoding and how the data stored references the following frame but not previous. Still seems like some engineering could be done to solve, so it it's not as simple as "current Frame--"

[–] [email protected] 3 points 1 year ago

It's absolutely possible, though. MPV has it. It definitely takes longer than going forward, and sometimes I have to press the "back one frame" shortcut 2-5 times per frame. But, it does exist.

[–] [email protected] 2 points 1 year ago (1 children)

A simple explanation: Compressed video is typically stored in such a way that you have say, one full frame every 5 frames or so. The in-between frames are just what changed from the previous frame. (Actually, smart compression is adaptive, changing how many full frames it needs depending on what the content is.)

So going forward a frame is easy. The current view is stored in the frame buffer, and you just add the changes to the next frame.

Ah, but how to go back? There are (at least) 3 possibilities.

  1. Reverse the process. "Subtract" the last frame data. But this may leave nothing behind, and so probably isn't viable.
  2. Double buffer. You have to keep the previous frame around in a second buffer. This adds a new copy operation every frame, and another buffer in memory, but performance for that probably isn't too bad. But you eat that performance all the time just so you can rewind one frame. And to rewind more than just 1 frame, you actually need many past frame's buffered! So something more like a stack of old frames would need to be kept around (like a stack of photos) and you can riffle back through them anytime. We'd throw away old frames past the last checkpoint, but ultimately this is just an increasingly expensive way to do it. This would need to be optional I think.
  3. Last option is the classic comp sci tradeoff: if option 2 used a lot of memory, option 3 uses a lot of calculation. Each time you go back a frame, we find the previous checkpoint frame, and then apply each change frame up to where you rewound to. This takes a moment to calculate each time, but unless you're QTE-ing on the frame back button it's probably fast enough!

The best solution probably mixes 2 and 3. Maybe a double or triple frame buffer, with the option to calculate new back-frames as further needed?

Anyway, that was fun to think about!

[–] [email protected] 3 points 1 year ago (1 children)

Option 3 is the usual method, & it works quite fast on almost any machine that's even capable of decoding high bitrate video fast enough to keep up with its framerate, in the first place. On a HDD, that previous frame may briefly require seeking to get back to, but no such delay occurs with flash storage.

Of course, it doesn't need to be done fast; we're talking about long looks at single frames!

For best results, frame-capture apps use cross-frame interpolation with motion estimation (& these days, AI).

I don't remember the last device I saw, that would struggle with this in any way. It's basically just been dismissed as unimportant, by the VLC devs, rather than actually being all-that-difficult to implement.

I'm shocked that VLC doesn't offer reverse playback by now, given the absolutely enormous video resources & random access storage, we're all blessed with now.

[–] [email protected] 2 points 1 year ago (1 children)

That makes a lot of sense, thanks! I'm a dev but not in video so it's always nice to learn a few things about how problems in other domains are solved.

Reverse playback would be pretty fun! Maybe it's hard to sync up the reverse audio? 😄

[–] [email protected] 2 points 1 year ago

Hahahah, very!

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (1 children)

MPV is better than VLC, but it clearly depend of the utilisation.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 5 points 1 year ago (1 children)

In MPV you can litteraly use shaders and upscaler to improve significantly the image.

See : https://github.com/bloc97/Anime4K https://github.com/butterw/bShaders https://artoriuz.github.io/blog/mpv_upscaling.html

VLC doesn't support shaders.

Other great stuff with MPV is change everything, from the UI to keyboard bind. And of course MPV is totaly usable with the command line (is better than use a gui btw, you can see the errors and other stuff).

[–] [email protected] 0 points 1 year ago (1 children)

excuse me but what the fuck does music have to do with shaders

[–] [email protected] 3 points 1 year ago

nothing, but mpv supports flac's, if you want to know that :)

[–] [email protected] 8 points 1 year ago

I have been using MPC as long as I can remember. Never could make the jump to VLC. Currently run MPC-BE.

[–] [email protected] 6 points 1 year ago
[–] [email protected] 6 points 1 year ago (1 children)

I wish VLC updated their UI to include a dark mode. I've never had luck with VLC skins

[–] [email protected] 1 points 1 year ago
[–] [email protected] 6 points 1 year ago (1 children)

Different tools for different purposes

[–] [email protected] 4 points 1 year ago (1 children)

No different tools. Only VLC!

[–] [email protected] 1 points 1 year ago

The number of times I've needed to do something, then realized VLC already did it... Wow

Even had use for the video wall options, a few times.

[–] [email protected] 4 points 1 year ago

Mpv.io if you are using low end computer to watch high bitrate videos or if you have high end computer you can use various image upscalar algorithm to improve your anime quality, Where VLC lags

[–] [email protected] 2 points 1 year ago
[–] [email protected] 2 points 1 year ago

for desktop I prefer mpv

[–] [email protected] 1 points 1 year ago

What about media player classic black edition?

[–] [email protected] 1 points 1 year ago

Ehhhh, VLC keeps glitching on videos for me these days, I've switched to MPC and definitely prefer it.

[–] [email protected] 1 points 1 year ago

I'm gonna be the one to mention Amberol, then. If I just want to play music, and have a pretty interface while doing so, that's what I'll use.

Otherwise, VLC for everything

[–] [email protected] -4 points 1 year ago

VLC is heavily bloated with features you need a guide to use (may as well use a command line tool if you need to refer to a guide every time). It crashes (or did about 2 years ago) some of our Linux systems. MPV spanks the piss out of it.