←back to thread

1113 points Bluestein | 3 comments | | HN request time: 0.001s | source
Show context
lairv ◴[] No.41278203[source]
I use it to inspect video frames by frames, particularly being able to go back one frame. VLC doesn't support it, this thread about the feature is hilarious https://forum.videolan.org/viewtopic.php?t=120627
replies(19): >>41278382 #>>41278499 #>>41278639 #>>41278719 #>>41279342 #>>41279364 #>>41279561 #>>41279827 #>>41279842 #>>41279920 #>>41280125 #>>41281214 #>>41281733 #>>41282953 #>>41283275 #>>41284169 #>>41287180 #>>41289348 #>>41289743 #
j1elo ◴[] No.41278719[source]
Wow those answers are indeed funny. I agree that as an OSS dev/maintainer, it's easy to fall on the vice of over-generalization and crusade for the perfect solution, and it feels that's exactly what happened there.

> this feature is algorithmically impossible

> You're just looking at one specific video, not the general problem.

> is not generally possible.

As a fellow multimedia dev, man, who cares? Sometimes we forget that software ought to be useful, not hypothetical ideals of truth. Just implement the feature for those codecs that support it and which probably are in the 98% percentile of what users actually use, regardless of the damned "general case".

Or accept and announce shamelessly that you don't have either the knowledge or the development resources to tackle such a complex feature. But excuses about not being possible for absolutely every possible codec in a completely generic way is just denying that the world is just a chaotic and dirty place where things are not ideal nor perfect. Just give your users a real-world solution (or rejection).

replies(7): >>41279461 #>>41279707 #>>41280296 #>>41280441 #>>41281134 #>>41281153 #>>41284201 #
sebastos ◴[] No.41280296[source]
Disagree!

VLC is what it is today because the authors understood video standards enough to make the _right_ abstractions that could generalize to ~every video format ever. That is no easy task. Video container standards are utterly perverse, and seem to delight in stomping over even the most innocent intuitions about what you would expect to find in a stream of bits that purports to contain "video". They often refuse to make even basic promises, like "the first frame's timestamp starts at 0" or "every parcel of data has a timestamp". Seemingly reasonable ideas that a neophyte might propose, like "suppose we store the video's framerate-" must be immediately interrupted with "you FOOL, there IS no framerate, nothing can be certain, this video might not even have frames, it might in fact be an interactive gift basket experience merely PRETENDING to be an mp4-". That's just the nature of the beast.

A playback architecture that can wrangle all of that cruelty into a consistent experience was hard won. Of course they're not eager to throw new features into the mix that will pollute that mental model, and suddenly introduce thousands of codec-vs-player-feature checks that were heretofore ruled out in principle. At a certain point, the architecture is sacred, and it's the only thing making VLC maintainable. If a feature doesn't work for everything, it doesn't work.

replies(12): >>41280388 #>>41280399 #>>41280530 #>>41280544 #>>41280813 #>>41280857 #>>41280938 #>>41281616 #>>41282720 #>>41282896 #>>41284083 #>>41289506 #
sph ◴[] No.41280857[source]
You speak as if VLC is the pinnacle of video player technology. I know it is an open source darling, but it's been a buggy, overengineered mess since forever, which is why many use alternatives as mpv, IINA when I used macOS, SMplayer, etc.

On fact, with all due respect, I never understood why VLC was so widely praised. It is the only player to stutter for me on Windows, to get lost in its settings page, to have a terrible playlist implementation that's forced upon you, doesn't handle corrupted media as well as others, etc. mpv on the other hand does one thing and does it very well.

I'll skip ranting about VLC for Android TV this time

replies(8): >>41281101 #>>41281110 #>>41281164 #>>41281566 #>>41281622 #>>41282149 #>>41282172 #>>41283255 #
maeln ◴[] No.41282149[source]
VLC is *amazing* at its design purpose: being a rock solid video player. The GUI, the UX, and other things can be criticized, but I dare you to find another video player that will play just about *anything*, and without having to install external codec separately with weird licence.

You can throw at it a broken mp4 file, a https url with basic auth, a weirdly encoded video, a DVD full of scratches, etc, chances are VLC will manage to play it (at least what is playable). There is just no other video player in the world that achieve that.

A lot of other video player might beat it at other features, but just straight video playing, VLC is just the best.

replies(2): >>41282351 #>>41289540 #
1. eviks ◴[] No.41282351{3}[source]
> without having to install external codec separately with weird licence.

What's up with this artificial limitation? I'd take frame back function over not having to install some codec pack once any time

And 99.99% of the time you don't play "everything, with scratches", so UX issues are much more consequential than that

replies(2): >>41282776 #>>41286641 #
2. hiptobecubic ◴[] No.41282776[source]
It's not artificial at all. It's a real limitation that was so outrageously annoying for the reasons mentioned above that VLC was able to "win" by tackling this one issue alone.

The success of vlc is all the proof you need. As you say, why else would it be so popular?

3. sangnoir ◴[] No.41286641[source]
> What's up with this artificial limitation? I'd take frame back function over not having to install some codec pack once any time

Then VLC is not for you - and there's nothing wrong with it or you - you just happen to have differing priorities. Back when the Internet was more p2p, the ability to play uncommon media formats and containers was crucial. Even today, VLC offers a lot of value to anyone who has to playback media whose encoding they have no control over.

VLC has other useful features as well (like streaming while playing back, allowing for multicomputer watch parties on the same network)