robnotme 2 Posted October 9 Posted October 9 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. 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
ebr 16972 Posted October 9 Posted October 9 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 2 Posted October 9 Author Posted October 9 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 2 Posted October 9 Author Posted October 9 (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 October 9 by robnotme
TeamB 2449 Posted October 9 Posted October 9 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 2 Posted October 9 Author Posted October 9 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 2 Posted October 9 Author Posted October 9 (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 October 9 by robnotme
TeamB 2449 Posted October 9 Posted October 9 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 2 Posted October 9 Author Posted October 9 (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 October 9 by robnotme
TeamB 2449 Posted October 10 Posted October 10 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. 1
ebr 16972 Posted October 10 Posted October 10 17 hours ago, robnotme said: Someone can simply select their profile, much like Netflix, without having to log out and back in You can do that easily in our apps too... 18 hours ago, robnotme said: Different family members can also watch the same movie and maintain their own positions. This is also inherent in our accounts. 18 hours ago, robnotme said: Each viewer can have multiple independent lists, and each list can maintain its own playback position Now that is something different but doesn't really require a system of different profiles (that's just the clever way you got around the limitation in the core). So, what you are really after is the ability to remember positions within playlists?
robnotme 2 Posted October 11 Author Posted October 11 (edited) What I want is multiple user-defined playlists per user -- and each playlist maintains its own playback position, even if the same media is included in several different playlists. For multiple users -- yes, Emby already does fast switching between them. But I gave logins to my neighbor and both of my sisters. Now they want profiles for themselves, their husbands, their kids, etc. That would mean more administrative work on the backend for me to add all those users. It also means fast switching could allow someone to select the wrong user, especially since there are duplicate names among the kids. So instead, I give one person in each household a login, and that person is responsible for creating the profiles for their family members and adding playlists beyond the two defaults. The primary user can also monitor what the sub-users are watching, stop a movie midway through, and blacklist it for that sub-user on the fly. I used a SQLite database to maintain the playlist positions, which also meant maintaining the list of users was just a matter of adding another column. This also let me put a PIN on each playlist for each sub user. As an outgrowth of that, I added parental controls so that if Emby tries to play any media outside the approved playlists, it gets denied. I have it on my to-do list to add a popup that allows PIN entry to override the restriction and play whatever it is that one time. The big advantage of doing parental controls this way is that each parents decides exactly what their kids are allowed to watch, rather than relying on ratings to decide what they shouldn't watch. Ratings aren't always accurate or consistent, and different parents have different ideas about what's appropriate for their kids. With this setup, if a parent hasn't added something to an approved playlist, the child simply can't play it. It doesn't matter what the media is rated or where it is in the library. Emby does allow restrictions based on ratings, libraries, folders, and tags, including whitelisting specific media. So I wouldn't necessarily have to move everything into separate directories. But I'd still have to create and manage the Emby accounts, tags, and permissions for everyone. And with multiple households, that is a real headache. I suppose the Emby team could implement something similar, but they'd need the concept of an elevated household user with limited administrative privileges. Someone who could manage their own family members and their access to media without having administrative access to the entire server. And even then, using tags introduces another problem -- what happens when different parents disagree about what's appropriate for their kids? Tags are attached to the media, not the household. My sister might think a particular PG-13 movie is fine for her 12-year-old, while my neighbor doesn't want their 14-year-old watching it. You could work around that with separate tags and restrictions for each household or child, but now you're creating and maintaining more tags and permissions for every family. That just brings back the administrative headache I was trying to eliminate in the first place. My approach keeps those decisions completely separate. The movie exists once in Emby, but each household decides independently who can watch it. One parent approving a movie has absolutely no effect on what another household's kids are allowed to watch. And nobody needs permission to modify Emby's global media metadata. The parents can change those permissions whenever they want, simply by adding or removing media from their kids' approved playlists. No need to involve me, change the underlying media library, or maintain separate copies of anything. Basically, I'm just removing administrative work from myself and giving the parents more control -- including the ability to decide exactly what each of their kids can watch without having to involve me every time they want to change something. Edited October 11 by robnotme
robnotme 2 Posted October 11 Author Posted October 11 On 09/10/2026 at 18:00, TeamB said: 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. I have my code segmented into separate functional sections, and I give Codex a clearly defined scope of work for each task. It is only authorized to modify code within that scope. If it determines that changes are needed in another section, it has to stop and get my approval before proceeding. It's not 100% foolproof, but it does help contain changes and reduce the chances of unintended modifications elsewhere in the project. I also have a second, independent agent that checks out the project after each build and runs a full test harness across all the different functions, not just the section that was modified. It also compares the actual file changes against what Codex reported in its change summary and notifies me if anything was modified that wasn't documented. Basically, I'm using a defense-in-depth approach. The first layer is limiting what Codex is authorized to change. The second is requiring approval before it can cross those boundaries. The third is having an independent agent verify the actual changes against what Codex claims it did. And the fourth is running the complete test harness to catch regressions or unintended effects in other parts of the project. None of those layers is 100% reliable on its own, especially when dealing with AI-generated code. But the idea is that if something slips past one layer, there's another opportunity to catch it before it becomes a bigger problem. I'm not relying on Codex to police itself -- I'm trying to build a process where its work is independently checked and verified.
LeeFamily612 0 Posted October 17 Posted October 17 I'm interested in this, but I'm not sure that the server I'm using allows for plugins. Is that what it comes down to?
robnotme 2 Posted October 17 Author Posted October 17 in the current state it requires a plugin and a docker -- Which means access to the back end linux or windows or a PVS with a GUI that allows you to build one
GrimEvil 109 Posted October 18 Posted October 18 Would this give each user full access to the emby server so could add, remove, change settings on the admin side?
ebr 16972 Posted October 18 Posted October 18 2 hours ago, GrimEvil said: Would this give each user full access to the emby server so could add, remove, change settings on the admin side? Holy cow, I hope not... 1
robnotme 2 Posted October 18 Author Posted October 18 4 hours ago, GrimEvil said: Would this give each user full access to the emby server so could add, remove, change settings on the admin side? No... the admin of the server would have to install the plug in and create the primary user.... that primary user would then create sub users and lists....then if desired parental controls... It doesn't take away from any of the security of the server at all... Just adds functions on top of it. 2
ebr 16972 Posted October 18 Posted October 18 2 minutes ago, robnotme said: that primary user would then create sub users and lists....then if desired parental controls... I guess that is the primary advantage of this plugin. It allows the server owner to only have to manage the head of a household and then that person can manage the family members within.
robnotme 2 Posted October 18 Author Posted October 18 (edited) 1 hour ago, ebr said: I guess that is the primary advantage of this plugin. It allows the server owner to only have to manage the head of a household and then that person can manage the family members within. Exactly right -- Once I get an android dev environment completed I'll get back to working on it. The TVs and other devices seem to all depend on it. Edited October 18 by robnotme
Paco29 0 Posted October 20 Posted October 20 I would love for you to continue working on this add-on. I’ve been thinking about this for a long time, since several people use the TV general, I would really like to have my own separate preferences. I hope this gets implemented soon for Android Tv.
GrimEvil 109 Posted October 20 Posted October 20 On 18/10/2026 at 15:39, robnotme said: No... the admin of the server would have to install the plug in and create the primary user.... that primary user would then create sub users and lists....then if desired parental controls... It doesn't take away from any of the security of the server at all... Just adds functions on top of it. Thats good to know, but yes as you said it would need to work across apps as well as the web for it to be useful
robnotme 2 Posted October 21 Author Posted October 21 Well, I needed to order parts to build a new server and I am blown away by how much memory and ssd have gone up since I last built one. Memory is 4 times as much as it used to be and the ssd is twice... that is in the last 3 years. Not totally related to this project but I wanted a separate location for the AI to do testing not related to my production server.. and since I have several other projects I am working on. One of which is to run a local coding AI to help out...might save me some costs on the LLMs and those will be the failback to check the output from local model or do the more heavy duty jobs.
visproduction 379 Posted October 21 Posted October 21 (edited) Rob, Do you really need SSD for media storage? What is the demand of your members? Does anyone typically request more than 2 media content at the same time. A good SATA drive is suppose to manage 6 to 16 GB/s. I haven't seen that kind of speed on my old workstation, but how many media requests can A STAT drive handle at once? Plus, if you spread your media across multiple SATA drives, then members will be requesting media from different drives. I just purchased 3 lightly used SATA TB drives, dated from around 2015 for $35 each from a local computer parts shop. https://sherwoodcomputers.com/ Current average new pricing for SATA is around $22 / TB but you have to buy 4GB or larger. https://storagediskprices.com/hard-drive-prices/ SSD average is $40 / TB, but do you need that speed for media storage? https://storagediskprices.com/ssd-prices/ Edited October 21 by visproduction
robnotme 2 Posted October 21 Author Posted October 21 Sorry, I wasn't clear --- That was me for a local AI development server --- not really to do with the plugin at all.... specs are more to do with a different unrelated project.... I have a stack of older 5tb and 8tb drives sitting on the shelf if I need more space. For right now the plugin just takes a very small plugin loaded into emby to act as an interface then a docker container with 1 cpu, 1gb ram, and 2gb space. If you had an excessive number of users or lists the space requirement would grow with that. So whatever is currently running the emby server should be fine. I also intend to have straight install instructions if someone wants to go through the pain of setting up the various dependencies. The main two things are .NET and Sqlite
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now