Repository navigation
Playback Access Rules
Use a mandatory rule when a category must require a particular membership even if the site also offers PPV or free viewing with ads. For example: ordinary movies may be rented for 72 hours, while an After Dark category requires the After Dark membership.
This is an additional requirement. Passing it does not make a paid video free, remove a password, or remove advertisements. Administrators keep their existing access.
Follow the Academy Members OR Academy Partners example for selecting groups, free partner access, subscription offers and the saved-rule test.


MP4 with playback controls · Blocked visitor, still image. This tests only the saved membership prerequisite; it does not check every payment/password/playback condition. The viewer in this recording had not subscribed yet.
Update the Streamer and run its database update to 30.3. If you use VideoHLS, update it to 25.10 or newer; if you use PayPerView, update it to 11.16 or newer. Sites using the custom FlixHouse app also need its matching API update. These plugins have separate releases; updating only the Streamer does not update them.
An installation without a configured mandatory rule keeps its existing behavior. Existing ordinary user-group selections are not automatically converted into mandatory rules.
- Sign in as an administrator and open Categories.
- Edit the category and click Playback access rules beside the category's save/close buttons. Save a new category before opening its rules.
- Under Mandatory playback rule, choose Require membership in selected user groups.
- Select the groups that should satisfy the requirement. A viewer needs at least one, not all, of the selected groups.
- Click Save. Check Current effective rule at the top after the page reloads.
The rule covers the category's videos, its subcategories, and future videos added there. You do not need to edit every video.
For After Dark, select the After Dark group. Also select All-Access Annual Pass if that plan includes After Dark; otherwise its subscribers are refused like everyone else. Do not select a general Video Rental PPV or registered-users group: that would deliberately let those members pass the requirement. To let people rent single After Dark movies, use the PayPerView option described in Let viewers rent a single restricted video instead.
Keep the subscription plan linked to the appropriate group. The Subscription plugin supplies membership while a subscription is valid; do not manually assign a permanent group when access is meant to expire.
| Choice | Result |
|---|---|
| Inherit from category or parent category | Use the nearest configured parent rule. A video starts with its own category. If there is no inherited rule, existing access rules apply. |
| Require membership in selected user groups | Require at least one selected group before considering existing payment/visibility permissions. Saving without a group is refused. |
| Explicit exception: no mandatory group restriction | Stop inheritance here. Existing visibility, payment and password restrictions still apply; this does not make the content public or free. |
Only administrators can save these rules, including video exceptions. Ordinary uploaders cannot remove a category requirement.
Edit the saved video, then click Playback access rules at the bottom. The summary identifies the category or video that supplies the effective rule. Leave Inherit selected for normal maintenance. Choose a different requirement or an explicit exception only when the content should follow a different rule.
In Test the saved mandatory rule for user ID, enter a normal user's ID and click Test. Enter 0 to test a visitor. This tests the saved prerequisite using current groups and, when enabled, an eligible existing title purchase. It does not purchase access or bypass the remaining checks. Unsaved changes are not included.
- A visitor and a user who rented an unrelated movie must not receive the restricted player's source.
- A current member of an allowed group must pass the prerequisite. Verify their normal payment/password requirements and playback too.
- A user whose membership expired must be blocked unless another allowed membership remains. Check that no permanent manual group is still assigned.
- Ordinary PPV movies outside the restricted category must keep working. Their ad-free benefits are still decided by the existing PPV/ad settings.
- An unauthorized user must not be offered a normal PPV checkout for a restricted video, unless you allowed rentals of restricted videos. Already received provider payments must be reconciled with the wallet/checkout record, not charged again.
- An unauthorized user must see the Unlock this content page with only the plans that give an allowed group (plus the video's rental, if you allowed rentals), on a phone and on a computer.
Restricted titles are left out of the public RSS, MRSS, Roku and Vizio feeds for everyone, including administrators. Playlist listings used by apps still show a restricted title and its images, but not its video or audio files, to someone who does not pass the rule.
The follow-up review also checks original media fields inside playlists, episodes, favorites and watch-later lists, as well as information previews, autoplay and gallery download links. Install the reviewed follow-up changes together with the initial feature; the initial commits alone do not include all these checks.
For protected HLS, the updated VideoHLS plugin checks the requirement before issuing tokens and before serving keys from its cache. A token for another video does not satisfy the rule. The token is added by the website player. Players without the site's login cookie never receive it: mobile/TV apps, Chromecast and AirPlay. Those players cannot open encrypted HLS videos that have a mandatory rule, even for members. Test your apps before enabling a rule on encrypted HLS videos. Also test downloading such a video as MP4: the server converts it itself, without the login cookie, so the download may fail even for members and administrators.
When someone without an allowed group opens a restricted video, the site shows an Unlock this content page instead of an error. It shows the video's picture, title and description, and the offers that give access:
- Subscription plans linked to one of the selected groups.
- PayPerView plans linked to one of the selected groups.
- A rental of just that video, when the PayPerView option below is on.
A membership is listed only if buying it adds an allowed group and satisfies the video's other access restrictions. Those restrictions can be satisfied by the video's user groups, access the viewer already owns, or a PPV plan that includes the title. A membership that does not unlock a paid-only title is not offered. A single-title rental is listed only when enabled and eligible as described below. Each button opens the plan's normal checkout. The plan marked Most popular in the Subscription plugin is highlighted. Visitors who are not signed in also see a Sign In button.
If no eligible membership or rental is available, the page explains that the title is only for members of an authorized group. Link a Subscription or PPV plan to that group if you want to sell membership access.
Before selling access, test the plan as an ordinary viewer. If Only for paid users is enabled without any video/category user groups, adding membership alone may not grant access. The unlock page leaves out such plans; review the video's groups and the titles included in each PPV plan when configuring offers.
With the current PayPerView update, Allow renting videos that require a user group is on by default. An eligible rental of that title can satisfy its mandatory rule (for example, a monthly subscriber renting one After Dark movie for 72 hours). To check the setting:
- Open Plugins, find PayPerView and click Edit parameters.
- Confirm Allow renting videos that require a user group is on and save if needed. An existing saved off setting is preserved after updating; enable it manually if you want rentals.
- Make sure the restricted videos are in a PPV rental plan (PayPerView → PPV Videos). A video that is in no active rental plan stays members-only.
The Unlock this content page then also shows a Rent this title card with the plan's price and rental period. The rental unlocks only that video, until the rental ends; the viewer does not join the group. Cancelled rentals, inactive plans and inactive video links do not pass the rule. Turn the option off to require membership even for viewers with a title rental. Memberships keep working as before. In the FlixHouse apps, After Dark stays hidden from non-members; allowing single-title rentals does not expose its category listing. A viewer who opens an eligible title directly can still rent it.
To check it, sign in as a user without the group, rent one restricted video and play it; another restricted video must stay locked.
When the ad plugin hides ads for paid users (GoogleAds_IMA Do not show ads for paid users), any active subscription removes ads from the whole site. For a plan that should remove ads only from its own videos, such as After Dark:
- Open Plugins, find Subscription and click Edit parameters.
- In Plans that remove ads only from their own videos, type the plan's ID (for several plans, separate the IDs with commas) and save. To find the ID, open the subscription plans page and copy the link of the plan's button: the number after
plans_id=is the ID.
A subscriber who has only that plan sees no ads on the videos of the plan's user groups and normal ads on the other videos. A subscriber who also has an ad-free plan stays ad-free everywhere. Test it on the website and in each app with an account that has only that plan.
Moving a video into a restricted category can leave its old source in cached Roku/Vizio output until that cache expires. Custom plugin feeds need their own review. These delivery and cache limitations must be resolved or accepted before enabling rules on a production catalog.
These application rules are not DRM. Unencrypted files served directly by a web server/CDN, previously downloaded files and third-party media delivery need the appropriate storage/file protection. Review video file protection and test the actual delivery configuration.
See the technical reference for storage, integration points and regression tests.
Start
Install and update
- Install on Ubuntu 24.04 or 26.04
- Installation Setup Page
- Scheduler cron job (required)
- Set up email
- Use HTTPS
- Own Encoder
- Docker
- Update AVideo
- Backup
- Secure file permissions
- Server command-line tools
- Hidden configuration options
Videos
- Upload a video
- Upload methods — visual guide
- Local Encoder (on your computer)
- Bulk upload from a server folder
- Import a channel
- Publish on YouTube and social media
- Access and payments — visual guide
- Privacy options
- Only for logged-in users
- Resolutions by user group
- Mandatory playback access rules
- Storage options
- Move and protect video files
- Video does not play
Users
Live
- Make a live stream
- Stream with OBS
- Own live server
- One live server, many sites
- Live server install errors
- Live does not play
Plugins
Problems
Other
- Translate your site
- Write a plugin (developers)
- Technical reference (developers and advanced administrators)
Old and retired guides