Jump to content

Personal Viewer Profiles


Recommended Posts

robnotme
Posted

I've been working on a project called Personal Viewer Profiles (PVP), and it's getting close to being ready for beta testing.

The idea is pretty simple — give everyone in the family their own viewing profile without having to create separate Emby accounts for each person. Similar to how Netflix handles profiles, one primary account can have multiple sub-users, each with their own favorites, watchlists, viewing history, and saved playback positions.

PVP maintains separate playback positions for each viewer while preserving Emby's original playback history. During playback, Emby's own saved position may temporarily reflect what the active PVP viewer is watching. Once playback ends, PVP restores Emby's original history and maintains the viewer's individual progress separately. Simultaneous playback by multiple PVP viewers under the same Emby account is still being refined and tested.

Currently implemented:

  • Multiple viewer profiles under one Emby account, with pictures and optional PINs.
  • Independent Favorites, Watch Later, Continue Watching, and custom lists.
  • Separate playback progress for each viewer, even for the same movie. Progress can also be maintained separately across lists.
  • Movie organization, sorting, and list management.
  • Parental controls including rating restrictions, blocked titles, and administrator-managed approved lists. These are implemented but still undergoing testing and refinement.
  • Independent viewer selection, profiles, and personal lists across different devices.

Still planned:

  • Full Android TV and Fire TV integration - currently tested through Emby's web interface
  • TV series and episode support.
  • Additional parental-control protections and improvements.
  • Support to share profiles, lists, and viewing information between different media servers.

Right now, development is focused on Emby, with the web interface being the primary supported interface.

How it works:

PVP uses a small plugin DLL installed in Emby, along with two Docker containers. One container runs the main PVP application, which manages profiles, lists, playback positions, and the database. The second acts as an adapter between Emby and the PVP Core, handling Emby-specific API communication and authentication, while the DLL handles integration directly inside Emby.

The reason for separating them is to keep the main PVP application independent of Emby. Eventually, Jellyfin and Plex will have their own adapters and integration components, allowing the same PVP application code to work with all three media servers without rewriting the core.

The longer-term goal is to allow a single PVP installation to manage profiles and lists across multiple media servers. That could be particularly useful for people wanting to try Jellyfin or Plex without starting over, or eventually migrate between platforms while retaining their personal lists and viewing information.

Everything runs locally on your server. No cloud service is required.

 

Beta testing:  (will be time limited in the code)

I'm getting ready for beta testing and would be interested in hearing from people who have wanted this kind of functionality. I'm particularly interested in testing it across different Emby installations and household configurations.

The current beta requires Linux, Docker, and some basic familiarity with server configuration. The installation includes documented backup and rollback procedures.

 

image.png.0e1484722091042e511220cdcca9ee2f.png

 

image.png.3adff7774b66e9b550da955bd6ca504e.png

 

image.png.2986e250ee2a2dd041c43e58d947924e.png

image.png.5c43f8b53c5bf6d1b8897b3cff4b064e.png

 

image.png.c3c35bc4348c099bdc27e0891688feb3.png

 

Movie paused -- then can be continued in another list if one person wants to get up and go elsewhere then watch the rest of the program later

image.png.bf551fc1ea41712e605e9bf3bc322cdd.png

 

 

Posted
1 minute ago, robnotme said:

give everyone in the family their own viewing profile without having to create separate Emby accounts for each person

Hi.  That's interesting but what is the advantage of that over just having different Emby accounts?

robnotme
Posted

That's a fair question. You can certainly accomplish some of this with separate Emby accounts.

The main advantage is convenience. Instead of creating and managing separate Emby accounts for everyone in the household, you have one login with multiple viewing profiles. Someone can simply select their profile, much like Netflix, without having to log out and back in.

But I've also taken it a bit further than that.

Each viewer can have multiple independent lists, and each list can maintain its own playback position. For example, you could have the same movie in two different lists, each remembering where you left off. Different family members can also watch the same movie and maintain their own positions.

There's also a Primary viewer who can manage the other profiles, assign PINs, and set parental restrictions.

If you're already happy managing separate Emby accounts, PVP might not offer much of an advantage for your particular setup. It's really aimed at households wanting Netflix-style profile management along with more flexible personal lists and playback tracking.

A good example of how I've been using it during testing is when my wife and I start watching a movie together. When she decides to go to bed, I use the "Continue in another list" option and finish watching it myself. The original list keeps our shared stopping point, while the other list tracks where I finish. The next day, we can pick up right where we left off together, and I don't mind watching the ending a second time.

robnotme
Posted (edited)

In my case, I also have several lists of my own — Favorites, Watch Later, Sci-Fi, and others. The difference is that these aren't just genre lists automatically populated from the library. They're personal collections of movies I've specifically picked out and added myself.

For example, my Sci-Fi list isn't every science fiction movie on the server. It's the ones I've decided I'm interested in watching or watching again. I might have another list of favorite comedies, movies I've been meaning to get around to, or just a collection of movies I particularly enjoy.

The same movie can appear in multiple lists, and I can organize them however I want. Instead of searching through hundreds or thousands of movies every time I want something to watch, I've already narrowed things down to the ones that interest me.

And unlike ordinary playlists, each list can maintain its own playback positions.

It also means I can give my sister an Emby login, and she can create separate viewing profiles for each of her kids without needing me to manage them. She can then create approved lists for each child, adding only the movies she wants them to watch. PVP is designed to block playback of anything that isn't explicitly on that child's approved list.

The parental restrictions are implemented, but I'm still testing and refining their enforcement. For now, they aren't a replacement for Emby's own account and library restrictions.

 

Sorry if I am a bit redundant -- I have a working model based on feedback in this and other threads here and am still refining features and functions a bit.

Edited by robnotme
TeamB
Posted
37 minutes ago, robnotme said:

If you're already happy managing separate Emby accounts, PVP might not offer much of an advantage for your particular setup. It's really aimed at households wanting Netflix-style profile management along with more flexible personal lists and playback tracking.

I am still struggling to see why I would want the extra complexity and overhead of a system like this.

You make it sound like managing an Emby account is difficult, I dont feel it is, what pain points do you have with managing multiple Emby accounts?
For you to go to all this trouble when you admit that you don't get much else over using individual Emby accounts then Emby accounts must be a real pain for you.
Perhaps that would be great feedback for the Emby team.

How do Emby clients handle the "profile" switching?
If I am logged into the Emby Desktop app how do I switch profiles?
For clients like EmbyCon and Emby for Kodi how does a user switch profiles?
 

robnotme
Posted

I didn't start this because managing Emby accounts was difficult. I've been running Emby for years and have no problem creating accounts.

I started it because I wanted multiple personal movie lists, each with its own independent playback positions. The same movie can be in several lists, and each list remembers where I left off. The multiple viewer profiles grew out of that.

As for clients, right now I'm developing and testing primarily with Emby's web interface. I haven't implemented or tested profile switching in Emby Desktop, EmbyCon, or Emby for Kodi yet. That's something to look at as development progresses.

I realize it adds complexity, and if separate Emby accounts already do everything you want, there's probably no reason to use PVP. I built it because I wanted these features, and figured others might find them useful too.

robnotme
Posted (edited)

 

And now that I am testing it on my prod environment I have found a number of bugs that make me think it isn't ready for alpha testings --- so the whole conversation is probably moot until I have a bit more time to work on it.

 

Works great in the web interface and hardly at all in the android app.  I wasn't testing with the android app before because I couldn't find anyplace were I could get a limited use premier license for coding.  Something that would let me play 10~15 minutes of a movie would be fine... 

Edited by robnotme
TeamB
Posted
29 minutes ago, robnotme said:

I started it because I wanted multiple personal movie lists, each with its own independent playback positions.

that is a very particular use case, still valid but niche.

 

31 minutes ago, robnotme said:

I built it because I wanted these features, and figured others might find them useful too.

absolutely valid, and a welcome addition.

I just wanted to make clear what the value proposition was, what as a user do I get out of setting this up.

Another approach you might have taken is a external Emby User Portal.
A portal that manages Emby users, creating them, managing them allowing other none admin users to create limited user accounts they can give to their kids etc.
You could also put expiry limits on the accounts so they remove themselves etc.


 

robnotme
Posted (edited)
13 minutes ago, TeamB said:

Another approach you might have taken is a external Emby User Portal.
A portal that manages Emby users, creating them, managing them allowing other none admin users to create limited user accounts they can give to their kids etc.
You could also put expiry limits on the accounts so they remove themselves etc.
 

 

I'll keep that in mind -- it probably would be simpler if it was just accounts.

 

Part of this was just refreshing my C# coding since it has been a decade since I touched it and also using codex and the AI to see just how good or bad it writes complicated code.  I've been coding for 30 years or so in various languages and being able to let the AI do the grunt work is amazing... but just like before GIGO -- bad or vague requirements lead to bad AI slop... But on the other side of the coin if a long time coder is using good practices and managing how it works the AI can be a dream to use.

 

 

Edited by robnotme
TeamB
Posted
1 hour ago, robnotme said:

 

I'll keep that in mind -- it probably would be simpler if it was just accounts.

 

Part of this was just refreshing my C# coding since it has been a decade since I touched it and also using codex and the AI to see just how good or bad it writes complicated code.  I've been coding for 30 years or so in various languages and being able to let the AI do the grunt work is amazing... but just like before GIGO -- bad or vague requirements lead to bad AI slop... But on the other side of the coin if a long time coder is using good practices and managing how it works the AI can be a dream to use.

 

 

I have been coding for about the same amount of time, I work for a very large company and we are being asked to use as much agent assisted workflows as we can. Basically equates to a few thousand dollars a month in tokens. At first I was very reluctant, but over the last 3 to 6 months I have been blown away by some of the new models and agent systems capabilities. I mainly use Visual Studio Code and Github copilot. Giving the agent a good description of what you need, asking it to explain and outline what it is doing and using the toolset like a scalpel to craft your code it just like magic in some cases. Code that would take me 3 hours to cut and add tests for I can do it minutes. Making sure your agent does not go off on a side quest to re-write areas you want to not touch takes oversight but it is still faster than cutting the code from scratch yourself.
I have no idea where this industry is headed now, 5 to 10 years form now I will likely be retired but man this industry is looking different every day, its going to be a hell of a ride.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...