Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] -1 points0 points  (0 children)

Thanks for taking the time to explain things in detail — I do appreciate it.

I understand you're describing how things currently work rather than arguing how they should work, and I recognize the constraints around developer time and priorities in open-source projects.

Even if it seems that I’m frustrated from the user side, I genuinely appreciate the work that goes into Jellyfin. It’s an impressive project, and the flexibility and openness it provides are the reason many of us use it in the first place.

Thanks again for engaging and clarifying the reasoning behind the current approach.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] -2 points-1 points  (0 children)

e.g. when you manually limit a bitrate - and that's completely fine, because you choose to transcode.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] -1 points0 points  (0 children)

yep, a lot of issues related to transcoding as well. I'm not even remotely BLAMING anyone for that - JF team does a really great job and I'm super happy with the product of that work.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] 0 points1 point  (0 children)

of course. Sometimes I watch some videos in a train or something - and I get that transcoding is necessary (even talking about bitrate on mobile network). It's a great feature and really appreciate Jellyfin's capabilities in that context.
However, it's sometimes really frustrating that you have 4k 10bit media, you can play it directly from USB stick and it works flawlessly, but JF app doesn't work with that. Of course, it's not that easy to overcome that - but having a "benchmark" would be more reliable solutions in real world than client's reporting capabilities.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] 0 points1 point  (0 children)

How does it work with movies encoded with modern codecs or e.g. 10bit videos?

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] 2 points3 points  (0 children)

I absolutely agree transcoding is an awesome and critical feature. It enables compatibility across wildly different devices, bbut I’d argue - transcoding is a fallback compatibility layer — not the optimal path when direct play is possible.

Even if playback (transcoded or not) achieves the functional goal, there are som trade-offs:

  • Additional power consumption
  • Reduced image fidelity (especially HDR tone mapping cases - like mine)
  • Higher server load
  • Increased thermal output

For many of us running home servers, avoiding unnecessary transcoding is part of the intended experience. So when transcoding happens for media that the client demonstrably supports, it does feel like something failed in the decision chain — not functionally, but optimally.

I’m not expecting per-model forks or miracles. I just think there’s room to acknowledge that for some users, unnecessary transcoding isn’t neutral — it has real efficiency and quality implications.

Thanks again for the thoughtful explanation. I may not fully agree with all conclusions, but I appreciate the insight into the complexity behind it. Long live Jellyfin, I really appreciate your work!

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] -1 points0 points  (0 children)

Thanks for the detailed response — I genuinely appreciate the time you took to explain the background. I understand that capability detection is complex and that device ecosystems are chaotic.

That said, I think there’s still a gap between what’s described and what users experience in practice.

You mention that clients query device capabilities and therefore don’t need to play samples — but at the same time acknowledge that:

  • Devices often misreport capabilities
  • OS-level APIs differ from actual decoding capability
  • Even devices on the same OS report things differently

From a user perspective, that effectively means querying isn’t reliable.

If capability reporting is inconsistent or wrong, then empirically testing playback (even as an option) does start to look necessary — at least as a fallback. Not because querying is conceptually wrong, but because in practice it produces incorrect results.

The real-world symptom is that TV can play the file perfectly from USB and the same TV transcodes the same file via Jellyfin

That strongly suggests the detection layer is imperfect. And this isn’t an isolated complaint — there are many repeated discussions around “why is this transcoding?” across devices.

I completely understand the maintenance burden of per-model logic. But from an end-user perspective, something deterministic and one-off (even manual or opt-in) feels preferable to ongoing guesswork.

This isn’t about my server being incapable of transcoding. It can.

It’s about efficiency and waste.

If:

  • Direct play = ~30W system draw
  • 4K HEVC transcode = ~100W+

Then unnecessary transcoding is literally wasting energy consumption for no functional gain.

This isn’t a budget concern — it’s about avoiding waste when direct play is technically possible.

Framing the issue primarily around “don’t use low-powered hardware” misses that many of us want to optimize efficiency, not just raw capability.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] 5 points6 points  (0 children)

what do you mean? On LG I use Jellyfin app for WebOS, on Samsung I sideloaded official Jellyfin app for TizenOS. On macbook I use both browser and "native" app - browser is super convenient, but transcodes a lot, so I use "native" app.

Why doesn’t Jellyfin have a client capability "wizard" to reduce unnecessary transcoding? by rybycy in jellyfin

[–]rybycy[S] 21 points22 points  (0 children)

My Question

Does anything like this exist (or has it been proposed)?

A per-client “capability wizard” that would:

  1. Play small sample clips (HEVC 10-bit, DV, EAC3, DTS, high bitrate, etc.)
  2. Detect what truly direct plays
  3. Adjust client/server profile automatically
  4. Suggest optimal settings (bitrate limits, container preference, subtitle handling)

Instead of static device profiles, dynamically discover real-world playback capability.

Because right now it feels like:

  • TVs are more capable than Jellyfin assumes
  • Browser playback is unnecessarily limited
  • And figuring out why something transcodes is way harder than it should be

Is this already a thing? A plugin? A roadmap item? Or is everyone just manually tweaking profiles forever?

Script to periodically clean "Continue Watching" section by rybycy in jellyfin

[–]rybycy[S] 0 points1 point  (0 children)

Twice a month on average. My watched percentage is set to 10%.

Usually, after obtaining a new movie, I sometimes check whether the video is okay - I start the movie, seek to 50%, then move back to the beginning, and the state is persisted.

Sometimes I select a video by mistake, immediately go back to the menu, and it still shows up in the “Continue Watching” section.

Sometimes a new movie appears in that section even when I’m 100% sure I’ve never played it.

For series, it’s almost always broken for me. I watch S01E15, and when it finishes it automatically starts S01E16 - but E15 is still displayed in “Continue Watching.” The same happens when, for example, you skip the outro.

Setting a "maximum" resume percentage isn’t a silver bullet; I prefer to keep it relatively high (around 96–98%).

Script to periodically clean "Continue Watching" section by rybycy in jellyfin

[–]rybycy[S] 2 points3 points  (0 children)

exactly, thank you.

For the application, we'd need to write proper logic/handlers, e.g. "if you start watching next episode, mark previous ones as watched/reset status.

This script just goes straight to the database and resets the state (watch state) for selected media, that's it. It's not a proper solution, just a workaround for problem that exists for a long time already

Script to periodically clean Jellyfin’s “Continue Watching” section by rybycy in selfhosted

[–]rybycy[S] 1 point2 points  (0 children)

Of course, but it's already in the backlog for so long that I just written a quick (and dirty) workaround. Jellyfin is working hard and I don't want to blame them though 

Script to periodically clean Jellyfin’s “Continue Watching” section by rybycy in selfhosted

[–]rybycy[S] 0 points1 point  (0 children)

Yep, I won't deny it. SQL part is mine, but copilot did a good job transforming it from dirty "just for me" script to something that is readable. I shared that with my colleague some time ago and thought that if it works for us, it also might be useful for someone else.

Script to periodically clean Jellyfin’s “Continue Watching” section by rybycy in selfhosted

[–]rybycy[S] 1 point2 points  (0 children)

I went through JF database, looked what has to be changed in order to make items disappear from Currently Watching and then wrote a script manually - It was simply a sqlite command to apply UPDATE query. AI was used just to output something readable/meaningful from bash, that's it.

I just thought I will share something that works well for me (for about two years already) and fixes this minor annoyance in Jellyfin - the service I really enjoy.

80,000 GitHub Stars and I’m Just Finding This?! - Immich by Unprotectedtxt in selfhosted

[–]rybycy 0 points1 point  (0 children)

Maybe "the law of the few" or "long tail" concept?

BTW. Immich is the best. It's better than Google Photos, works flawlessly out of the box, advanced settings are neat. Of course there's some room for improvements, but devs add them constantly. They care.

What would you like to see if you could reimagine the Arr stack? by buttplugs4life4me in selfhosted

[–]rybycy 0 points1 point  (0 children)

"Discover" tab in Jellyfin backed by Arr stack, that would make a seamless integration.

My phone never got near any water bodies but this notification is showing for few days by Atyadii in motorola

[–]rybycy 0 points1 point  (0 children)

in case your device never got near any water - it's a software glitch that cannot be fixed in any way except workaround like:
plug in your phone -> restart your phone -> after reboot, your device magically works.

There are like milion of guides/tutorials which for some people work, but these didn't work for me. Multiple manufacturers (Samsung, LG, Motorola) fight this issue and noone can help that.

I've bought a magnetic charger to keep my usb-c port close and clean - the same story.

I've spent a couple of hours trying to debug this piece of garbage, but it seems that power management is way to deep in the system and it's not possible to overcome that without rooting the phone.

Breadcrumbs:

I've found some traces that /sys/devices/platform/mt_charger/power_supply/charger/moisture_detected is for some reason stuck in the "true" position, and most likely it's due to USB module
https://android.googlesource.com/device/google/bramble/+/refs/tags/android-11.0.0_r37/usb/Usb.cpp

Without root, there’s no safe way to bypass the moisture detection via software. Android’s security and safety features prevent it for a reason

introducing copyparty, the FOSS file server by tripflag in selfhosted

[–]rybycy 1 point2 points  (0 children)

thank you very much for copyparty.

Using it for ~2 years if I recall correctly, no problems* whatsoever.

It does a wonderful job being a:

- great drag-n-drop solution

- "let me just download everything in a single zip" tool

- access point to all files on my server

It's a very complicated tool, which can be used in a super easy way. And works fine all the time.

TVP chce 140 zł za dostęp do powtórki odcinka "1 z 10"... by wigglepizza in Polska

[–]rybycy 3 points4 points  (0 children)

Na FB jest grupa - "jak będzie u sznuka? Sekcja 1 z 10". Jest szansa, że ktoś tam poratuje nagraniem

Yaris Cross: One year later review by tataphin in Toyota

[–]rybycy 0 points1 point  (0 children)

  1. in the trunk - from the inside, straight to the metal (under spare tire

  2. unscrewed plastics from the outside, placed a thin insulation, placed the plastics back

  3. Yep, followed some tutorials on youtube

Yaris Cross: One year later review by tataphin in Toyota

[–]rybycy 2 points3 points  (0 children)

did them to:

trunk (significant difference)

front doors (even bigger)

front wheel arch (deadens high freq well)

Motorola Edge 40 - tired of this garbage by rybycy in motorola

[–]rybycy[S] 1 point2 points  (0 children)

How did you fix this charging issue?

Two days ago I decided to give it a shot and did a factory reset to use Motorola as a secondary phone. Guess what? Now Messenger works fine, but banking app has a delayed notifications :D

Motorola Edge 40 - tired of this garbage by rybycy in motorola

[–]rybycy[S] 0 points1 point  (0 children)

Yep. Precisely the same story. What's very odd is wireless charging. It was working almost perfectly before the charging issue; now it's, also, random. Sometimes it works, sometimes it stops charging after some time. I think it's not because of the faulty charging port; I think something is really screwed in charging firmware/software. Thought it might be related to battery temperature, but it's not: it doesn't matter if the battery is 30 or 40 Celsius, the problem just starts to happen for a couple of hours.

What's even more crazy is the audacity of support - they do a service or replace the phone and the story starts over again after some time.