Movies and Shows
Movies, TV shows and anime play in the browser. Plinthio sends the file as it is whenever the browser can play it, and converts it on the server only when it has to.
Title Pages
- Movies get a single page: poster, year · runtime · rating, tagline, overview, genres, director, writers and studios, a Cast & Crew row, Media Info (resolution, codecs, audio and subtitle tracks, size), and an Extras row when the film has any.
- Shows and anime list their episodes by season, each with a still from the episode and its synopsis. Seasons are picked from a row of posters, with a check on finished ones. You can mark a season watched. Specials come last, and Start Watching begins at S1 E1, not a special. The season you're up to opens first.
- Collections (Shrek, Star Wars and so on) show their films as a poster grid in release order. When Show missing films in collections is on, films the server doesn't have appear greyed out with Request and Add to list buttons, or "Coming" with the year for a film not yet released. A film in a collection opens its own page, with a "More in …" row and a link back to the collection.
Cast, crew, studios, tagline, facts, the backdrop and the title's logo come from TMDB (with a TMDB key). They're fetched when a page first opens and cached for 30 days. The backdrop runs across the top of the page with the logo over it.
How Playback Works
Plinthio always tries the cheapest way first. It asks the browser what it can decode, including HEVC (H.265), which Chrome, Edge and Safari can play.
| Mode | When | Server cost |
|---|---|---|
| Direct play | The browser can play the file as it is (for example H.264 or HEVC with AAC in MP4, or WebM) | None. The file is streamed as is |
| Direct stream | The video is fine but the container (MKV) or audio (AC3, EAC3, DTS, TrueHD) isn't | Small. The video is copied untouched and the audio converted to AAC |
| Transcode | The browser can't decode the video itself (10-bit H.264, for example) | Real work. A GPU does it when one is available |
- Seeking works normally in every mode.
- Quality: transcodes offer 1080p, 720p and 480p, never above the source. The player adapts to your connection, or you can pin a quality in the player's settings menu (⚙).
- Limits: one software transcode at a time, or two with hardware encoding, so a small server isn't overwhelmed.
- Caching: converted segments are kept on disk and reused until they've gone unused for 24 hours (
HLS_CACHE_MAX_AGE_HOURS). Closing the player stops its conversion. - Fallback: if the browser rejects a file it was expected to play, the player switches to transcoding by itself.
- Errors show the real reason with a code (P3xx). See Troubleshooting.
Hardware transcoding is set up in Installation and checked in Admin → Playback.
Audio Tracks and Subtitles
- Audio: every track is listed by language, title and channel count, and can be switched mid-film without losing your place. Useful for dual-audio anime and commentary tracks.
- Subtitles inside the file: text subtitles are extracted when you choose them. Picture-based subtitles (PGS, VobSub from discs) can't be shown, so they aren't listed.
- Subtitle files next to the video:
Movie.en.srt,Movie.en.forced.srt,.vtt,.assand.ssa. Language and "forced" are read from the name, and a new file is picked up without a rescan. - A forced track, used for foreign-language signs, turns on automatically.
The Player
- Resume: playback continues where you stopped, unless you'd reached the last 2%. Start over in the message restarts. A title counts as watched at 98%.
- Skip buttons: back and forward, by amounts you pick: 5 s, 10 s, 15 s, 30 s, 1 min or 5 min. The defaults are back 10 s and forward 30 s. Change them in the player's settings menu (⚙), or right-click a skip button. They follow you to every device. On a computer they're in the control bar. On phones and tablets they're large buttons either side of play.
- Scrub previews: on a computer, hovering the timeline shows thumbnails. They're made in the background the first time a video is opened, so the first viewing may not have them.
- Up next: at the end of an episode the next one starts after a 10-second countdown, which you can cancel.
- Skip Intro and Skip Credits buttons appear during an episode's intro or credits, when an editor or admin has marked them. Markers are set through the API.
- Casting: Chromecast (Chrome, including Google TV) and AirPlay (Safari) buttons appear when a device is available. Chromecast needs Plinthio opened over HTTPS.
- On phones, the browser's own video controls are used, since they handle full screen, picture-in-picture and AirPlay best.
| Key | Action |
|---|---|
| Space | Play or pause |
| ← → | Skip back or forward by your skip amounts |
| Esc | Close the player |
Pause Screens
After a couple of seconds paused, movies and shows can show a pause screen. An admin picks the server's style in Admin → Appearance, and if the admin allows it, you can pick your own in Settings → Appearance. Moving the mouse, touching the screen or pressing a key hides it.
| Style | Shows |
|---|---|
| Simple | Nothing, just the player controls |
| Details (default) | Poster, title (or show, episode code and name), year · runtime · rating · genres, tagline, synopsis, director or creators, the first four cast members, and the time left with the time it will end |
| Cinematic | The picture blurs and dims behind a centred title card: tagline, cast photos with their characters, and facts from TMDB (director, original title and language, budget, box office, seasons and episodes, years on air, collection, studio or network, composer, cinematographer), plus keywords |
| Bedtime | A dim, large clock, the time left and when it ends. For an episode, also when the rest of the season would end |
Without a TMDB key, the screens use the file's own details: title, year, runtime, genres and description.
Opening Sequence
A short clip can play full screen when someone presses Play on a movie or episode, before the title starts. Plinthio comes with its own clip. It's off until an admin turns on Play the opening sequence in Admin → Playback, where they can also limit it to Before movies or Before shows and anime, or upload their own clip.
- The title loads behind the clip, so it starts as soon as the clip ends.
- Your own clip must be an MP4 with H.264 video, 1–10 seconds long and under 20 MB. The server checks it on upload. It's kept in
/config/intro/intro.mp4, so it survives updates. Removing it goes back to the built-in clip. - It never plays when resuming partway through, before an autoplayed next episode, before a trailer or other extra, or in a watch party.
- Anyone can skip it with the Skip button, Esc, Enter or a tap. If it can't play, the title starts straight away.
Watch Parties
Watch a movie or show in sync with people in other places. See Together.