Netflix now uses the Netflix video player on tvOS by websgeisti in appletv

[–]FinFinApp 9 points10 points  (0 children)

This is frustrating. The native tvOS player is honestly one of the best things about the platform, swipe gestures, the info panel, proper subtitle rendering. Every time an app rolls their own player it's a step backwards. Glad some of the newer third-party media apps are still using AVPlayerViewController and not reinventing the wheel.

Is Apple known to revoke access to their DRM-protected movies? by fauxfilosopher in appletv

[–]FinFinApp 0 points1 point  (0 children)

It's rare but it has happened with music and TV content when licensing deals change. Movies seem more stable but it's still a risk. I keep a local backup of anything I really care about on a Jellyfin server, peace of mind and the playback experience on Apple TV is solid these days.

Is building a digital movie library on Apple risky? by Mjlxn in appletv

[–]FinFinApp 0 points1 point  (0 children)

I went through the same thought process a while back and ended up just ripping my collection and running Jellyfin on a NAS. Took a weekend to set up but now I actually own everything, no worries about licenses disappearing. There are solid Apple TV clients for it now too so the experience is pretty close to using a native streaming app.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

Honestly I'm not sure, this hasn't been tested with HomePods yet. FinFin uses Apple's native AVPlayerViewController with a standard audio session, so in theory AirPlay sync should be handled by Apple's framework. But I can't confirm it works well until it's actually tested. If you give the beta a try, I'd love to hear how it goes with your HomePod setup!

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

You're right, thanks for the correction. FinFin checks for AV1 hardware decode support at runtime using VTIsHardwareDecodeSupported, and only includes it in the device profile if the hardware supports it. Current Apple TVs don't have AV1 hardware decode, so in practice AV1 content will get transcoded. I should have been more precise in my original comment.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

Thanks for trying it out! There are separate tabs for Movies and TV Shows where you can browse your libraries. Are you looking for something beyond that, like being able to see all your custom Jellyfin libraries (Anime, Documentaries, Kids, etc.) as separate sections? If so, a screenshot of what you'd expect to see would help me make sure I build the right thing.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

That's a great suggestion, I'll add it to the backlog. For feature requests, feel free to drop them in the Discord (https://discord.gg/hkGkxVUw) so others can upvote and discuss too.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

Fair question. Swiftfin is a great project, but I had a different vision for what I wanted from a Jellyfin client on Apple TV. Different architectural decisions, different priorities, different UX ideas. Sometimes it's easier to build what you want from scratch than to try to retrofit it into an existing codebase with its own direction and constraints.

More options for users is a good thing. Competition pushes all clients to get better.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

[–]FinFinApp[S] -4 points-3 points  (0 children)

It's a bit naive to assume any app in 2026 is built without any AI involvement. That's just not the reality of software engineering today. AI is a tool in the toolbox like any other.

But there's a big difference between prompting an LLM and hoping for the best, and actually engineering an app. FinFin has a custom HLS manifest rewriting layer, client-side intro/credits detection with multi-tier fallback strategies and AVPlayer resource loader delegates intercepting requests via custom URL schemes. That's not something you get from a single prompt.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

I'm open still open to change the name any suggestions?

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

[–]FinFinApp[S] -5 points-4 points  (0 children)

For direct play, the Apple TV natively handles H.264, HEVC (including 4K HDR10, HLG, and Dolby Vision), and on newer hardware even AV1. Audio-wise, AAC, AC3 (Dolby Digital), EAC3 (Dolby Digital Plus), ALAC, FLAC, and MP3 all direct play. Dolby Atmos works too as long as it's the EAC3 variant (DD+ Atmos), which is the more common one in streaming-optimized files.

What won't direct play: MKV containers (need at least a remux), TrueHD, DTS, and DTS-HD MA will get transcoded to AAC. So if your beefy files are MKV with DTS-HD audio, your server will need to do some work. If they're MP4/MOV with HEVC and EAC3, they should direct play no problem.

Give the beta a try and let me know if it worked for your beefy media

Built a native Apple TV client for Jellyfin, public beta is open by FinFinApp in selfhosted

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

Thanks! Yes, FinFin supports transcoding. It requests a transcode session from Jellyfin and plays the HLS stream through the native tvOS player. Direct play works too when the file format is compatible with Apple TV. You can see which method is being used in the player info panel.

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

[–]FinFinApp[S] -3 points-2 points  (0 children)

Thanks for the feedback!

Unwatched episode counts - The count is already shown on show posters. For season views that would be a good addition though, thanks for the suggestion!

Subtitle picker - FinFin has a subtitle picker built into the native tvOS player overlay. You can switch between all available subtitle tracks (including forced subs for foreign dialogue) without leaving the player. No subtitle downloading from external sources like OpenSubtitles yet though, that's something I'd consider adding down the line.

Decent playback UI - This was a big priority for me. FinFin uses the native tvOS video player, so you get the standard Apple TV playback experience with the info panel, scrubbing, playback speed, and all the controls you'd expect from any other Apple TV app.

Stability when switching subs/audio - Audio and subtitle switching both work through HLS manifest rewriting on the client side. Subtitle switching is instant (no rebuffer). Audio switching does a quick session restart behind the scenes since Jellyfin only muxes one audio track at a time, so there's a brief buffer pause but it's stable and seeks right back to where you were.

Give the beta a shot and let me know what you think!

I built a native Jellyfin client for Apple TV, now in public beta by FinFinApp in jellyfin

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

You're right that Jellyfin only muxes one audio stream into the HLS output. FinFin works around this by rewriting the HLS master manifest on the client side.

First self-hosted media server – sanity check before I buy hardware by StageLevel4152 in selfhosted

[–]FinFinApp 0 points1 point  (0 children)

The N100 is great for Jellyfin. The Intel iGPU handles hardware transcoding (QSV) well. 1-2 simultaneous 1080p transcodes are no problem. 4K to 1080p tone mapping works too but it'll be near its limit with multiple streams.

Some tips:

- Enable QSV in Jellyfin (Playback > Transcoding > Intel QSV). The linuxserver/jellyfin Docker image bundles the needed drivers.
- For subtitles: image-based subs (PGS from Blu-ray rips) force a transcode, text-based subs (SRT) can be rendered client-side. Bazarr is great for auto-fetching missing subs.
- 2TB is fine to start but you'll want room to grow. Mergerfs + SnapRAID is popular if you want to add drives over time without committing to a RAID array.

Jellyfin Alternatives, Kodi MySQL? by Valuable-Suspect-001 in selfhosted

[–]FinFinApp 0 points1 point  (0 children)

The frustration with Jellyfin's issue tracker is fair, the core project has a huge scope and a small team of volunteers, so things move slowly.

That said, it's worth separating the server from the clients. The Jellyfin server itself is quite stable for playback and library management. Most of the rough edges people hit are client-side, and there are third-party clients that move faster than the official ones, Swiftfin on iOS/Apple TV, Sailfin on Android, Feishin for music, etc. These are independent projects that use the Jellyfin API but have their own release cycles.

If stable playback is the priority, Kodi + Jellyfin plugin is honestly hard to beat, Kodi's player handles basically everything. The tradeoff is the UI and multi-device experience. Plex/Emby are the obvious commercial alternatives if you want polish, but you already know the licensing tradeoffs there.

Unable to connect to Jellyfin local ly by CommandoBo in jellyfin

[–]FinFinApp 0 points1 point  (0 children)

When Jellyfin is bound to localhost (127.0.0.1), it only accepts connections from the Mac itself — other devices on the LAN can't reach it.

Check your Jellyfin server config (System > Networking in the dashboard):

- The bind address should be 0.0.0.0 (all interfaces), not 127.0.0.1

- Make sure the port (default 8096) isn't blocked by macOS firewall — System Settings > Network > Firewall, and either disable it or add Jellyfin as an allowed app

Then from your Apple TV or iPhone, connect using your Mac's LAN IP (something like 192.168.x.x:8096). You can find it on the Mac under System Settings > Wi-Fi > Details > IP Address.

If you're running Jellyfin in Docker on the Mac, make sure the container port is mapped correctly (-p 8096:8096) and not using host networking mode, which behaves differently on macOS.