Jump to content

Plugin: WatchingEye - Manage viewers


Recommended Posts

yocker
Posted (edited)

image.png.8f91e56c092b36ee058305cf5f80b5bf.png

Watching Eye is a plugin designed to give you granular control over your server's streaming environment. It's the perfect tool for managing user watch time, monitoring server performance, and ensuring a smooth viewing experience for everyone.

Key Features:

  • Watch Time Limiter:

  • Set daily, weekly, monthly, and even yearly watch time limits for specific users.

  • Create global watch time rules that apply to all users, with the option to exclude certain individuals.

  • Establish specific time windows during which users are allowed to watch content, perfect for parental controls.

  • Transcode Notifications and Blocking:

  • Receive instant notifications when a user's stream starts transcoding, helping you identify potential playback issues.

  • Proactively block transcodes based on video resolution or container format to conserve server resources.

  • Customize notification messages to inform users why their video is transcoding and suggest solutions.

  • Playback Control and Monitoring:

  • Automatically stop streams that have been paused for an extended period,.

  • Keep a detailed log of transcoding events and when users reach their watch time limits.

Download on Githuib - WatchingEye.
 

 

 

Edited by yocker
  • Like 9
  • Thanks 2
yocker
Posted

New version (1.0.0.9) up.

Added logs to see what users hit the time limit and/or what users started transcodes.
Added time window option for the timelimit so that users can be set to only be able to watch at specific times of the day.
Added an "allowance" system to the timelimit, the makes it so users can only watch for a certain amount of time that does not reset, admins will have to add extra time for the user to be able to watch more.

Download here or on Githuib - WatchingEye.

WatchingEye.dll

  • Like 1
bakes82
Posted
20 hours ago, yocker said:

notifications require manual dismissal.

that doesnt work on most clients.  there is also the time out doesnt work, also not all clients act the same.

yocker
Posted (edited)
2 hours ago, bakes82 said:

that doesnt work on most clients.  there is also the time out doesnt work, also not all clients act the same.

I have tested on the web client, LG TVs, the Android app on phones and TVs.
Sadly don't have access to any more than that.

Time out not working, please explain so i can look into it as i can't find a fault.

Edited by yocker
bakes82
Posted

_sessionManager.SendMessageCommand(null, session.Id, new MessageCommand { Header = header, Text = message, TimeoutMs = 10000 }, CancellationToken.None)

the TimeoutMs doesnt work, it only acts as a binary state now to to determine if the box should be force closable or have a delay, this option also seems to be device dependent from my testing with it being a toast and auto going away after 3 seconds or so.  So you setting for 10 seconds doesnt make it last 10 seconds. Roku seems to be a the device with most issues for these type of things, than the consoles.

yocker
Posted
58 minutes ago, bakes82 said:

_sessionManager.SendMessageCommand(null, session.Id, new MessageCommand { Header = header, Text = message, TimeoutMs = 10000 }, CancellationToken.None)

the TimeoutMs doesnt work, it only acts as a binary state now to to determine if the box should be force closable or have a delay, this option also seems to be device dependent from my testing with it being a toast and auto going away after 3 seconds or so.  So you setting for 10 seconds doesnt make it last 10 seconds. Roku seems to be a the device with most issues for these type of things, than the consoles.

Thank you, will look into seeing if a can make a little better system for the plugin.

yocker
Posted

New version up.

Various bug fixes.
Fix for people being able to circumvent time limit with Chromecast.

WatchingEye.dll

  • Like 1
feerlessleadr
Posted

Thanks for this again. Just installed the newest version from your github, and it looks like it basically answers/solves all of the questions I had. 

My kids will be testing this thoroughly over the next week, so I'll report any bugs. 

  • Like 1
yocker
Posted
10 minutes ago, feerlessleadr said:

Thanks for this again. Just installed the newest version from your github, and it looks like it basically answers/solves all of the questions I had. 

My kids will be testing this thoroughly over the next week, so I'll report any bugs. 

Thank you,I will look into squatting any bugs you might find though I should have caught them this time. :) 

  • Like 1
  • 3 weeks later...
Posted

Nice plugin. I wish it had a playback restriction based on library items as well. say for e.g User 1 has access to movies from 6pm to 8pm. I Hope to see this in the next update.

Posted (edited)
2 minutes ago, Amanade3 said:

Nice plugin. I wish it had a playback restriction based on library items as well. say for e.g User 1 has access to movies from 6pm to 8pm. I Hope to see this in the next update.

I will look into it when i have time.

Edited by yocker
  • Like 1
feerlessleadr
Posted

@yockerI think I found a bug. I have the time limit set for 60 minutes for my kids, however when I want to extend time, I'm not able add more than 60 minutes to each account (i.e. I wanted to add 90 minutes yesterday, but was not able to do that).

Otherwise this plugin has been absolutely perfect and rock solid. Thank you!

Posted
5 hours ago, feerlessleadr said:

@yockerI think I found a bug. I have the time limit set for 60 minutes for my kids, however when I want to extend time, I'm not able add more than 60 minutes to each account (i.e. I wanted to add 90 minutes yesterday, but was not able to do that).

Otherwise this plugin has been absolutely perfect and rock solid. Thank you!

Should be fixed in this one.

WatchingEye.dll

  • Thanks 2
Posted

Will this work on a Linux server install or is it windows only?

Posted
1 hour ago, TrainAss said:

Will this work on a Linux server install or is it windows only?

Should work on any Emby install.

Posted (edited)

First off, well done on this plugin, works great so far and a solid addition to the ecosystem

I have just one question, in the settings for Playback Start notifications there is an option for:

Max Notifications Per Session

What is a session defined as? The only reason i ask is that i also use Vantage Point to play custom certification video before movie playback.

I currently have this option set to 1 however the following occurs

  • Vantage Point plays film certification video
  • Playback Start Notification displays
  • Movie then starts to play
  • Playback Start Notification displays again

So is a session classed as a playback item as opposed to a user session.

I will mess around with the delay to see what happens if i set it to start after the certification video has played (not sure if this will then causes it to display twice)

Okay test ran and yes it displayed the message twice which is what i thought it would do, for now will leave this option off and leave transcoding notice on

But anyways great work

Edited by CassTG
Posted
16 hours ago, CassTG said:

First off, well done on this plugin, works great so far and a solid addition to the ecosystem

I have just one question, in the settings for Playback Start notifications there is an option for:

Max Notifications Per Session

What is a session defined as? The only reason i ask is that i also use Vantage Point to play custom certification video before movie playback.

I currently have this option set to 1 however the following occurs

  • Vantage Point plays film certification video
  • Playback Start Notification displays
  • Movie then starts to play
  • Playback Start Notification displays again

So is a session classed as a playback item as opposed to a user session.

I will mess around with the delay to see what happens if i set it to start after the certification video has played (not sure if this will then causes it to display twice)

Okay test ran and yes it displayed the message twice which is what i thought it would do, for now will leave this option off and leave transcoding notice on

But anyways great work

Thank you for the kind words!

Unless i made a mistake somewhere a session is meant to be a "play session", watching a video is a play session.
The reason for the number of notifications is that the message system can be a little lacking in some areas, like not being able to control how long the message should be shown, so a compromise would be to show it multiple times instead.

  • Thanks 1
  • 2 weeks later...
Posted

New version up, v1.1.0

Added support for the Emby notification API (like pushover) when a user has reached their time limit.

Download here or on WatchingEye - Github

WatchingEye.dll

Posted (edited)

Hi, Yocker!

Thank you for creating this plug-in; it's such a great addition to the EMS experience. I was on the fence about installing another plug-in; however, not only did it work great for limiting my Kids' profile to 2 hours per day, but the UI experience is fantastic, such a well-designed layout.

One thing you may not have realized you've built into this plug-in is the Transcoding notifications. This is something I've had a significant issue with, as my family members have not understood when it's not DS'ing. This gives us the admins the ability to warn them when it's Transcoded vs Direct Stream, extremely helpful!

- I edited the default notifications

 

image.png.0190c2c5ff90b125a85598d49282cfe7.png

Edited by CarneAsada
  • Thanks 1
Posted
2 hours ago, CarneAsada said:

Hi, Yocker!

Thank you for creating this plug-in; it's such a great addition to the EMS experience. I was on the fence about installing another plug-in; however, not only did it work great for limiting my Kids' profile to 2 hours per day, but the UI experience is fantastic, such a well-designed layout.

One thing you may not have realized you've built into this plug-in is the Transcoding notifications. This is something I've had a significant issue with, as my family members have not understood when it's not DS'ing. This gives us the admins the ability to warn them when it's Transcoded vs Direct Stream, extremely helpful!

- I edited the default notifications

 

image.png.0190c2c5ff90b125a85598d49282cfe7.png

Thank you for you kind words, I really appreciate it!!

English is not my first language so I'll not sure what you are saying about the transcode bit. 

Sorry if I have misunderstood. 

I'm still working on improving the plugin so if you think anything is missing out needs improving please say so and I will look at it as soon as I can. :) 

Posted

This plugin is fantastic and is something iv been looking for ever since i started using emby many many years ago. Thank you so much ❤️

  • Thanks 1
Posted

Would it be possible to add a function that adds a Notification or meaasge to the Emby front page?

Posted

 

Hello, 🙌

 

I'm on the latest beta and noticed I get double notifications, when I save changes to the plugin and when users reach their limit.

20250916_144548.thumb.jpg.ae1c3aefe9eb5a0acb37f602d12ef649.jpg

Screenshot_20250916_153018_Samsung Internet.png

Posted
34 minutes ago, CarneAsada said:

 

Hello, 🙌

 

I'm on the latest beta and noticed I get double notifications, when I save changes to the plugin and when users reach their limit.

20250916_144548.thumb.jpg.ae1c3aefe9eb5a0acb37f602d12ef649.jpg

Screenshot_20250916_153018_Samsung Internet.png

Sorry about that, should be fixed in this one.

WatchingEye.dll

  • Like 1

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...