Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Issue]: Australian Classification Ratings not correct #11650

Open
1 task done
starkebn opened this issue May 15, 2024 · 24 comments · May be fixed by #12043
Open
1 task done

[Issue]: Australian Classification Ratings not correct #11650

starkebn opened this issue May 15, 2024 · 24 comments · May be fixed by #12043
Labels
bug Something isn't working

Comments

@starkebn
Copy link

Please describe your bug

I believe this file needs editing:

https://github.com/jellyfin/jellyfin/blob/fd250e4fe1c1a35e8e40c008a7d25675729e3dac/Emby.Server.Implementations/Localization/Ratings/au.csv

The Australian Classification has 6 ratings:

https://www.classification.gov.au/classification-ratings/what-do-ratings-mean

  • G: no age restriction
  • PG: PG-rated content is not recommended for viewing by people under the age of 15 without guidance from parents, teachers or guardians.
  • M: M-rated films and computer games are not recommended for children under the age of 15. However, children under the age of 15 may legally access this material as the classification rating is an advisory category.
  • MA 15+: legally restricted to people over the age of 15
  • R 18+: legally restricted to people over the age of 18
  • X 18+: legally restricted to people over the age of 18

in Jellyfin 1.0.9.0+ the list currently looks like the attached screenshot.

PG and M should be before MA 15+, probably at age 14. I'm not sure if the file needs all the other age ratings that do not appear in the Australian classification system, I don't think they appeared in 1.0.8.0 and below.

Reproduction Steps

Jellfin > Dashboard > Users > Parental Control > Maximum Allowed Parental Rating dropdown

Jellyfin Version

10.9.0

if other:

No response

Environment

any

Jellyfin logs

none needed

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

image

Code of Conduct

  • I agree to follow this project's Code of Conduct
@starkebn starkebn added the bug Something isn't working label May 15, 2024
@jellyfin-bot
Copy link
Contributor

Hi, it seems like your issue report has the following item(s) that need to be addressed:

  • The format of the environment section has been altered from the template.

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

@Shadowghost
Copy link
Contributor

Classifications were sourced from multiple sources: IMDB, Wikipedia and the one you linked.

From what I can see the only thing requiring changes is PG being 16 instead of 15

@starkebn
Copy link
Author

at minimum it should be:

G; 0
PG: 14
M: 14
MA 15+: 15
R 18+: 18
X 18+: 18

I'm not sure anything else is necessary, but PG and M should be before MA 15+ at the very least

@Shadowghost
Copy link
Contributor

Fine for me. But I think X18+ should be kept at 1000 (this level is used for X-rated content/pornography)

@danmolloy
Copy link

Hi there,
Just saw this conversation and thought I might add my two cents (I'm Australian).
M-rated films are advised for audiences 15+, whereas audiences legally must be 15+ for MA. PG (parental guidance) is fine for children, but they may need an adult to explain some themes.

You might find Community Cinema's page helpful.

@Shadowghost
Copy link
Contributor

When implementing this I opted for being conservative and use the advised age as the limit - because there is no way for us to differentiate if a parent is watching it with their kid.

@Fenruz
Copy link

Fenruz commented Jun 8, 2024

I found this GitHub Issue after upgrading to 10.9.x and finding most of my kids library was missing. I am also in Australia and the current ratings list (the same as the one in the screenshot above) is not reflective of our rating system. As it is now the function in Jellyfin is broken. If I set it to <14 it barely shows 10% of their library. Set to PG/16+ it shows inappropriate content. This worked perfectly pre-upgrade. Please fix if you can, I'm happy to post screenshots if they're allowed from the GUI demonstrating the issue.

@starkebn
Copy link
Author

starkebn commented Jun 8, 2024

yes, something still needs to be fixed here

@Shadowghost
Copy link
Contributor

Would reducing PG to 15 be enough? Im rather resistant to lower it even further because https://www.classification.gov.au/classification-ratings/what-are-ratings explicitly states that below 15 needs parental guidance and we don't know if that is the case.

@starkebn
Copy link
Author

starkebn commented Jun 8, 2024

I'm not sure how it works, but it needs to be changed so that if you restrict an account to PG it can't see M or above, and if you restrict it to M the account can't see MA 15+ etc.

The list of restriction priorities is in the initial post

@Shadowghost
Copy link
Contributor

But that is the main problem here:
PG: 15+ since we can't validate if a parent is watching?
M: 15+ but it's advisory
MA 15+ legally enforced 15+

So I guess we'd need to lower PG to 14 to not make it include M or MA content...

@Fenruz
Copy link

Fenruz commented Jun 9, 2024

I'm happy to try it if you let me know how :-) I'd be very grateful! As it stands now it's basically broken and can't be used by the family :-( I set "14" but I guess because this doesn't match Australian ratings it shows nothing, while PG/16+ shows Peppa Pig alongside Joker :-( All the best.

@starkebn
Copy link
Author

starkebn commented Jun 9, 2024

it's important that it's useful in the Parental Control section of Jellyfin, I don't care about anything else

the priority list is G < PG < M < MA 15+ < R 18+ and maybe X 18+

just like how it used to be and was useful

right now it's a mess and it sucks

oddstr13 added a commit that referenced this issue Jun 9, 2024
As per https://www.classification.gov.au/classification-ratings/what-are-ratings

Fixes #11650
Well, sort of. I don't think it is possible to differentiate between them, as we'd be comparing the integer values, not the position in the list?
@oddstr13 oddstr13 linked a pull request Jun 9, 2024 that will close this issue
@oddstr13
Copy link
Member

oddstr13 commented Jun 9, 2024

If you are really particular about which shows your kids can access, then use the tagging feature.
There is both a whitelist (only items containing tags) and a blacklist (don't allow items with tags).

For the age rating, we have to assume the kid is watching the content alone.

Also be warned that the parental controls only recently have started becoming somewhat useful, and that there are likely still edge cases that doesn't work properly. (Auto-generated library thumbnails can be from any content in the library for example).

@jellyfin-bot jellyfin-bot added this to Needs triage in Issue Triage for Main Repo Jun 9, 2024
@starkebn
Copy link
Author

starkebn commented Jun 9, 2024

Why such big pushback here? It was working great in 1.0.8 and now it's almost non functional. The Australian classification system is very simple and the current implementation is a jumble of ratings from many different areas that seem unnecessary and it's not useful. It was changed for not yet explained reasons and to me it seems like it's worse.

@Fenruz
Copy link

Fenruz commented Jun 9, 2024

Dear @starkebn, I think we need to be nice to the Dev's, this is an open-source project and I believe they donate their time, so from all of us (especially down under) thank you very much!

Dear @oddstr13, I do appreciate @starkebn position however, this wasn't starting to become useful as you describe, at least not to us, it was wonderful & perfectly functional prior to the updates. There are work-arounds as you describe, another example is I could separate their content out into their own folders, but it's these working features of the software (even free software like this) that make it such a pleasure to use!

Thank you sincerely for committing the change, I'll track it and install the update ASAP when it gets rolled in. Not all hero's wear capes, but you do mate!

@oddstr13
Copy link
Member

oddstr13 commented Jun 9, 2024

Explaination in the PR implementing the overhaul #8526, which fixed a bunch of issues with parental controls (see list in PR description).

The fact that it worked for you in 10.8 seems to have been pure luck, as it often wasn't working at all before it got reworked.

@Shadowghost
Copy link
Contributor

To add some context to what and why things were changed:
Before 10.9 rating strings (PG,MA, etc) were assigned a number and those were compared to each other for access control. This worked somewhat fine if your rating strings came from only one system (emphasis on somewhat) but totally broke once you had rating strings from multiple systems in your library because the number usage was not consistent between the rating system definitions in Jellyfin. #8526 redefined all rating string -> rating level mappings to be consistent and implemented proper enforcement of the restrictions. Generally speaking, before that PR any kind of working parental control based on ratings was at best somewhat working but incomplete and at worst not working as intended at all.
Technically speaking PG, MA and M are all 15+ because we simply do not know that whoever is watching has a parent next to them. The proper fix for this is to introduce a kind of sublevel which allows differentiation of such cases (e.g. major level is 15, sublevel for PG is 0, MA is 1 and M is 2). Since this requires API changes, this will not happen in 10.9 though.
#12043 at least correctly sets the level to 15 instead of 16 but there really is not more we can do for the 10.9 release cycle.

@starkebn
Copy link
Author

starkebn commented Jun 9, 2024

"Technically speaking PG, MA and M are all 15+ because we simply do not know that whoever is watching has a parent next to them."

I personally think this is not the most useful way of looking at the classifications. It doesn't feel very functional. In the screenshotted section of the dashboard, the intention is that the admin of the server can restrict certain users to certain classification categories. If you insist on putting them all on one line because technically they're based on age, the function becomes unusable. I don't see how focusing on the age of the viewer is helpful.

I can guess from the list you're trying to capture all the random ratings that can be pulled in automatically from IMDB / TVDB / TVMaze etc.

The classification categories are intended to be separated by content, I think it would be better to have the back end rating levels have a separate extra 'priority' field decoupled from age if the current implementation is the result.

just spitballing:

000 | 00 | Exempt / G
010 | 07 | 7+
020 | 10 | 10
030 | 13 | 13
040 | 14 | 14
050 | 15 | PG
060 | 15 | M
070 | 15 | MA / MA15+ / MA 15+
080 | 16 | 16+
090 | 18 | Unrated
100 | 18 | R / R18+ / R 18+ / 18+
800 | 18 | X / X18+ / X 18+
900 | 99 | RC

@Shadowghost
Copy link
Contributor

The reason why the age is the deciding factor is that this is the only thing we can use to match between different rating systems.

@starkebn
Copy link
Author

starkebn commented Jun 9, 2024

Unfortunately matching only by age takes away the intent of content based classification if you insist on putting categories like PG, M and MA 15+ all on the same line.

Going by what you have said this isn't going to be changed in 10.9 so maybe putting the Australian ratings on the following ages would be a messy solution

0: G
14: PG:
15: M
16: MA 15+
18: R 18+:
19: X 18+

@oddstr13
Copy link
Member

oddstr13 commented Jun 9, 2024

How would you as a parent feel about your 14 year old suddenly gaining access to content rated for 15 year olds?
Because that is potentially the result of changing that value to 14.

The following documentation should get you up and running compiling your own custom version of Jellyfin.
https://github.com/jellyfin/jellyfin?tab=readme-ov-file#server-development
https://github.com/jellyfin/jellyfin-packaging?tab=readme-ov-file#quickstart

I couldn't find the CSV files in the clear on my system, so presumably they're embedded in a dll somewhere.

@starkebn
Copy link
Author

I can't speak for everyone, but that's a pretty mild problem. The "legal age" part of the classification is the lowest interest to me.

I'll state my point one last time and leave it.

If I tell Jellyfin to restrict an account to PG content, I want PG and G content available, and I don't want any M, MA 15+, R 18+ etc content displayed. If the function works differently then for me it might as well not be there.

@Fenruz
Copy link

Fenruz commented Jun 10, 2024

How would you as a parent feel about your 14 year old suddenly gaining access to content rated for 15 year olds? Because that is potentially the result of changing that value to 14.

Dear oddstr13, I think you're a dead-set legend for working on this project, so please believe me when I say my response here is meant with the kindest of intent and to add to the discussion.

To answer your question as a parent of two in Australia using our rating system - I wouldn't care in the slightest. You are describing a black-and-white binary situation where a setting of 14 vs 15 would deliver staggeringly different content, but the classification system isn't anything like that. It's a guide, a rule of thumb, a suggestion to the audience & parents on the appropriateness of the content.

Not to mention as individuals, especially younger audiences, can often have a maturity age several years ahead or behind their actual age. The idea that a filter at 14 vs 15 would be such a huge gap doesn't fit with the rating system down-under or the reality of its use.

I'll give you a real world example! I've found with my kids who are 9 that setting to PG (or age 13) is about right, it let's them see shows like Shrek, Lego Ninja's and the Super Mario Bro's movie while keeping the adult stuff hidden. They're only 9 years old, if I set their age to 9 the idea they couldn't watch Shrek is nuts. The same age filter on things like YouTube is also about-right (of course, parenting comes 1st! I'm always keeping an eye on them. haha)

Please let me know if this rambling helped! I'm sincerely not trying to be argumentative, I hoped the above might be seen as objective. Basically what starkebn concluded with in his post above is right, I just thought I'd add my 2c.

Stay safe & happy, peace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

6 participants