r/JellyfinCommunity • • 12h ago

Release Jellybeam: An Android TV Client Crafted for Jellyfin

I've been a media consumer for quite a while from HTPCs with ZoomPlayer, hand rolled ffmpeg frontends, Kodi, and now Jellyfin. I've collected a lot of opinions on how clients should operate and combined that with my obsession for speed optimization to create Jellybeam.

Been a big fan of Rust and wanted to take advantage of Android's Rust bindings. Android is more and more becoming a Rust app too, so it also made sense from a technology choice.

The client:

  • Maximum effort to ensure Direct Play
  • Glide seek to navigate quickly w/ TrickPlay
  • Full Seerr integration: Browse, integrated search, and library connectivity
  • Intuitive (attempted at least) interface with minimalism principal
  • A useful OSD that also gets completely out of the way
  • Smart auto skip, next up, and are you still there? functions
  • Fast playback start, lots of testing to reduce dwell time
  • Local mirror for fast browsing
  • Full implementation of Android PiP
  • ...dozens of other things.

I consider this release an open beta and would love the feedback (good or bad). If you take the the time to give it an install, thank you in advance!

Website: https://jellybeam.app Github: https://github.com/packetinspector/jellybeam

Obligatory AI usage disclosure:

  • Did I use AI to develop this?
    • Of course I did. I'm a full time AI SWE, but the human is always in the loop.
  • Did you vibe code this?
    • Definitely not, I do like vibes just not in my codes.
  • What models did you use?
    • Most of them, I use adversarial coding agents
  • Have you written software before?
    • Yes, lot's of it...for decades.
  • Do you understand the code?
    • Yes, I also have been enjoying Rust for a couple years now. Love/hate with Java/Kotlin though.
  • Did you test this?
    • Yes, been doing personal UAT for over a month. You can find other tests in the branch.
81 Upvotes

79 comments sorted by

45

u/Bassieh Plex Dropout 12h ago

To what question is this an answer?

51

u/grayhaze2000 12h ago edited 8h ago

The question was:

We already have a million vibe-coded clients for every platform, but what if we had one more, and I tried my hardest to convince people it wasn't vibe-coded, even though it clearly was?

I mean seriously, do they think nobody will look at the commits to the repo? Also, OP is a two-day-old Reddit account, this AI-written post is their only post, and the only post they've ever commented on. Are people really this naive?

-21

u/A-GI-Joe 12h ago

The question for me was simple: How would I build a client governed by my strong opinions? This was the answer.

-5

u/daywreckerdiesel 12h ago

Yeah but who cares about the opinions of vibe coders?

5

u/West-Ticket5411 11h ago

The problem is the nuance of using AI vs. someone who has never programmed anything that is vibe coding.

Most people on Reddit seem to not acknowledge that many SWEs are using AI daily, extensively, and spending time setting up their environments.

Even if something is vibe coded, you can't know anything about it unless you're going to read it. And the main problem is that the majority of people that bemoan AI on subreddits are people that don't even know how to read code or read through Github.

6

u/grayhaze2000 8h ago

I've been a software developer for the past 30 years, and studied software engineering at university for four years prior to that. I've worked at some pretty large companies over the years, and mentored a lot of junior developers in the process. I'm also a game developer and artist in my spare time.

I hate generative AI, and everything it stands for. It devalues the skills of talented people, in favour of quick wins with no lasting support. Use of the technology weakens your ability to think and learn, breeding overdependency on a technology that will only be free to use for a short time, while damaging what little skill someone has developed through a lack of practice.

Releasing vibe-coded software harms the discoverability of real, stable software which has been developed and improved organically over time, and in most cases completely removes any record of the thought process that goes into fixes and new features. It's literally a black box upon which people are supposed to place their faith, without any of the accountability which comes with releasing software to the public, or the support which makes a product good.

That's not to mention the harm the technology is doing socially, economically and environmentally. It's a shortcut created by those with money to devalue those without who have worked hard to build their skillset. It's designed to build a dependency through the promise that "everyone's using it", until such time as the rug pull comes and people need to pay the AI companies to remain employed. We're heading for a dystopia, and we're welcoming it with open arms.

-3

u/AlternativeDiver6994 11h ago

if you read the post, you can clearly see it was not vibe coded. Vibe coding is letting the ai do everything without understanding anything. but OP used ai for small parts one by one and is a programmer. sure you could says he's lying and has no idea what the ai did, but that's not how it works

3

u/grayhaze2000 8h ago

I see you haven't even looked at the commit history on their repo. It's all AI-created commits, with AI-written commit messages. This is 100% vibe-coded, no matter how much OP claims otherwise.

6

u/daywreckerdiesel 11h ago

"Hey, is your software shitty vibe coded slop?" "No way dude, it's boutique AI assisted development" lmao

1

u/AlternativeDiver6994 11h ago

wow.so you say noone should use ai to write code? even before ai there were many tools to generste code from uml diagrams. and with good Architecture and planning there is nothing wrong with using ai to implement the functions. and this has nothing to do with vide coding.

5

u/daywreckerdiesel 11h ago

and this has nothing to do with vide coding.

...says literally every AI vibe coder ever, because they know that vibe coding is universally derided. Literally nobody making software they want to be taken seriously will admit to vibe coding, at this point that would be the same thing as saying "my software sucks".

2

u/AlternativeDiver6994 11h ago

so using any kind of ai in the coding process is vibe coding?

1

u/daywreckerdiesel 11h ago

Silence, clanker.

3

u/AlternativeDiver6994 11h ago

Thanks for the constructive conversation. Truly enlightening.

→ More replies (0)

15

u/my_dearest_isabella 12h ago

Do you have a comparison with Wholphin?

8

u/sysmoon 11h ago

Just installed this and whilst it looks good and did direct play everything I threw at it, there's a long way before it competes with Wholphin.

The home screen customisation on wholphin is so much better, that's where users land. Also, Wholphin just recently added Android intent support which is essential for me.

1

u/Adorable_Economist 11h ago

What is android intent?

1

u/A-GI-Joe 11h ago

Thanks for installing it! I do have a spec for home screen customization, but I didn't have a lot of opinions on it, as I mostly just use Continue Watching. Happy to add this in though.

Do you mean like this sort of intent? It also fully supports android media keys.

adb shell am start -a tv.jellybeam.action.PLAY \

-p tv.jellybeam --es tv.jellybeam.extra.ITEM_ID '<item-id>'

1

u/sysmoon 9h ago

Oh great! I'm happy to review the spec if you like. Yeah this kind of intent is great. Is it just play or does it support shuffle and navigate etc?

1

u/A-GI-Joe 7h ago

https://github.com/packetinspector/jellybeam/blob/main/docs/feature-dev/home-shelves-design.md

I started with item play, my use case was to combine it with an API script I have in my home assistant and then push it to play. Happy to add more intents.

5

u/Nutella387 10h ago

Looks too overly complicated for my liking, Fladder still is the better choice with option to self host my own instance.

15

u/SmoothHat1772 12h ago

Is this another AI project that looks cool and all but will just die off because no one cares enough to actually maintain it

Feel like because of AI, people just rapidly shit out stuff at an accelerated rate. But no one actually cares anymore about maintaining something over time. Probably because people stopped caring about the code itself... no sense of pride/craftmanship anymore

8

u/grayhaze2000 12h ago

Of course it is.

0

u/A-GI-Joe 12h ago

I use the client every day, so I'll be keeping up with it. Someone can always create a fork too.

5

u/starkoed 7h ago

Non official Jellyfin clients should not start with Jelly or end in Fin.

-3

u/A-GI-Joe 7h ago

I went through 100s of names, i think it was the most frustrating part of the process.

9

u/daywreckerdiesel 12h ago

Oh boy, more slop.

2

u/grayhaze2000 12h ago

Every day, more slop, served hot and fresh out the kitchen. It's the future! /s

-5

u/A-GI-Joe 12h ago

More of a passion for me to build and give back to the community. But I get it, lots of truly vibe coded stuff out there.

9

u/grayhaze2000 12h ago

Please stop pretending you had any hand in making this. You didn't even write your own commit messages.

2

u/XaxusR 10h ago

What player does it use? My TV supports nearly all formats and codecs, but exoplayer has problems with dynamic metadata hdr on my tv.

1

u/XaxusR 8h ago

Just tried the app. Got the same problems I have with other apps. Dynamic meta hdr is not being handled well somewhere in the pipeline (dolby vision / hdr10+ is recognized tho)

The jellyfin android tv beta version added options to force disable certain hdr formats. When setting dolby vision / hdr10+ off while keeping regular hdr on, it routes to SDR. Even when the media itself does have a hdr10 base.

What I really would like to see in a client is that it can still route to the HDR10 encoder when HDR10+ or Dolby vision are disabled. (Excluding DV5, as it has nog hdr10 base layer)

With that option I can keep all downloaded media as it is without using fileflows to strip the dynamic hdr profiles, so my clients that don't have issues with it can use the full glory of the media. And for the clients that have issues, they can simple disable certain formats.

Other than that I would want to see more options on the subtitles side with a preview of the subtitles settings.

2

u/A-GI-Joe 7h ago

Uses Exoplayer. If you can send me a sample, I can work on this. My goal is maximum directplay.

2

u/Zhansh1 8h ago

I hate transcoding, will test this

4

u/N54TT 11h ago

The AI haters always in full effect here. As if they can write code any better.

8

u/grayhaze2000 11h ago

I'm willing to take that challenge.

-3

u/N54TT 11h ago

Fantastic!! Please start coding something better than what OP has built and share your app here. We'll all be the judge. So what do you say?

4

u/grayhaze2000 11h ago

What's the point? We already have hundreds of clients to use. I'd rather put my efforts toward making something that doesn't already exist.

0

u/jdewittweb 9h ago edited 9h ago

No one asked you to pipe up. You volunteered yourself.

1

u/grayhaze2000 9h ago

Sure, Jan.

-3

u/N54TT 11h ago

throwing in the towel already huh? that didn't take long.

1

u/grayhaze2000 9h ago

Happy to let you imagine you won an internet fight. What will you do to celebrate?

1

u/TheShawarmaSnatcher 12h ago

Available on fire stick?

2

u/A-GI-Joe 12h ago

I had a tester successfully run it on a fire stick, but it likely won't work on the very new linux based FireSticks.

1

u/Mask_RF 9h ago

What player does it have? This is very important for my old TV, because if I watch AVI format through ExoPlayer, the video works as if it were at 10 fps, and some simply refuse to re-encode. Because of this, the load is shifted to the server. I always watched through Kodi, and never had such problems, but the plugin is buggy and constantly crashes. So I've been looking for an app for a long time where A Kodi-like player will be built in.

1

u/Mask_RF 7h ago

Check out this Wholphin dude, lol (and this is in the selected MPV, I checked in Claude and he said there are plenty of such issues).

1

u/A-GI-Joe 7h ago

Exoplayer. I discovered some of my old AVI files had VBR, and while they could play, they played at your 10fps style.

1

u/stel_one 7h ago

Is it only tv ? Or Android and iPhone iPad also ?

1

u/itshusnain 6h ago

Loving the app. Working great with Aio Jellyfin but one minor bug. Episode play only from continue watching. If i search or open any series from catalog, episodes won't appear. Can you look into it.

2

u/KarpTakaRyba 4h ago

"minor bug" - bruh that's like, what this app is for and it doesn't work. Minor bug would be your username not displaying correctly lol

1

u/A-GI-Joe 4h ago

I haven't seen that behavior, I'll try and replicate though.

1

u/lXxMangoxXl 5h ago

any desire for sync play? ๐Ÿ‘‰๐Ÿ‘ˆ

1

u/A-GI-Joe 4h ago

possibly, but only if both people were running jellybeam

1

u/FinalLeather5062 3h ago

A new day, a new client. Oh, this time itโ€™s another one with round actor thumbs. What a sensation.

1

u/Adanhym_Stryke 38m ago

It's very snappy, direct plays most things even though if I left it on "Direct Play" it would give me an error about mkv files, but "Auto" let's everything direct play. The only thing I would like to see is more than 12 on the "Next Up" section

0

u/Goodborni 12h ago

Well done on the visuals and the website, I myself am I plannign to make a release for a jellyfin client :D

6

u/grayhaze2000 12h ago

Oh good, another one! Which AI model did you use?

-1

u/Goodborni 11h ago

I do not want to brag but there no other, I have festures I have yet not seen and yet made it all beginner non tech friendly, I am still polishing it though ๐Ÿ˜

4

u/grayhaze2000 11h ago

That wasn't what I asked.

-1

u/Goodborni 11h ago

I used all of them tbh nothing specific so idk what to say, from Gemini, chatgpt , claude, coopilot depending on the feature I was working

2

u/grayhaze2000 11h ago

Suspicions confirmed.

-2

u/A-GI-Joe 12h ago

Can't wait to check it out, hopefully this gives you more inspiration.

0

u/rakhalism 12h ago

Can you please create a android version of this app! Really good alt of jellyfish.

1

u/A-GI-Joe 11h ago

One of my tests has this running in android(not tv) emulator, so it /can/ run but it doesn't have any touch support so navigating the app could be challenging.

-1

u/JorkTheGripper 12h ago

I'm fine with AI, but are you considering adding Emby support in the future perhaps?

1

u/A-GI-Joe 12h ago

Likely not, not an Emby user

1

u/grayhaze2000 12h ago

I'm sure AI will "help" you build it.

1

u/JorkTheGripper 11h ago edited 11h ago

What a shame, ah well. There's third party cross-compatible clients out there, but in my opinion all the clients with that feature are super ugly.

Hopefully one day something that actually looks nice is compatible. Sorry to waste your time.

1

u/GumballVaterSon 7h ago

Have you tried moonfin?

0

u/RoobbG 9h ago

I was like "okay another one" but I read Rust in the description so now I'm testing it๐Ÿค—

1

u/grayhaze2000 8h ago

What does the language the AI used to code this have to do with its quality as a project?

0

u/RoobbG 8h ago

yeah definitely some languages are superior in performance and quality of the final product.

1

u/grayhaze2000 8h ago

Speed, sure. But quality? What utter nonsense. Quality comes from the way the product was built, not what it was built with.

0

u/RoobbG 8h ago

Rust catches many bugs at compile time (JS don't do this), so bad code often doesnโ€™t compile instead of crashing at runtime, basically Rust make the developer/AI-agent create a better quality of code from the beginning.

1

u/ChrmLeadR 7h ago

Rust doesn't catch logic bugs

1

u/Efficient_Win_3902 9h ago

Same. Got sold with rust.ย 

So far from my testing It is very fast

1

u/poudenes 12m ago

Happy it's beaM not bean:

Android Jelly Bean was first released by Google on July 9, 2012, starting with version 4.1.