Playback
Adaptive HLS streaming
- Plays
.m3u8HLS streams and switches quality automatically based on network speed - Uses native HLS on Safari and iOS so AirPlay works, and HLS.js everywhere else
- Segmented streaming starts playback quickly without downloading the full file
Manual quality selection
- Viewers pick a resolution from the Settings menu or leave it on Auto
- The current resolution is shown next to Auto
Controls
- Play / pause, with tap-to-show controls on touch devices
- Seek bar with chapter markers and thumbnail previews
- Forward and rewind 10 seconds
- Volume and mute
- Playback speed from 0.25x to 2x
- Fullscreen, with landscape lock on mobile
- Picture-in-Picture where the browser supports it
Themes and layouts
- Three themes:
default,netflixandglassy - Each theme has a desktop layout and a touch-friendly mobile layout, chosen automatically
- Menus open as bottom sheets on mobile
- Poster image before playback starts
Playlists
- Pass several sources to get a playlist menu inside the player
- Up Next card with a ten-second countdown before the current video ends
- Play Next button in the control bar
- Switch videos from your own code without reloading the player
Skip intro and custom buttons
- Optional Skip button that appears during a time range you set and jumps past the intro
- Custom link buttons in the control bar, per video, opening in the same or a new tab
Captions and subtitles
- Multiple subtitle and caption tracks with a language menu and on / off toggle
- WebVTT and SRT files
- ASS and SSA files rendered with their original styling
- Default track selection per video
- Per-track styling through a
NOTE karaoke-configblock in the VTT file - Multiple audio tracks, selectable from the Settings menu
Chapters
- Chapter markers on the timeline from a WebVTT chapters file
- Current chapter title shown in the control bar
- Jump straight to a section
Caption styles
Font size
- Slider from 50 percent to 400 percent in 5 percent steps
- Updates live while adjusting
Font family
- Viewers choose from the fonts you provide, including web fonts loaded on demand
- Suitable for accessibility fonts such as Open-Dyslexic
Remembered preferences
- Font and size are saved in the viewer’s browser and restored on the next visit
- Reset to defaults from the same menu
Audio boost
- Increases audio gain beyond 100 percent with a slider
- Applied in real time without interrupting playback
- Found in the Accessibility menu
Chromecast
- Cast button appears when a Chromecast device is available
- Works in Chrome on desktop and Android, and in the PN Player native apps
- Sends the current caption track to the TV and keeps it in sync when the viewer changes it
- VTT and SRT captions are supported on the receiver
AirPlay
- AirPlay button appears on Apple devices and browsers that support it
- Streams to Apple TV and AirPlay-enabled TVs
- Playback continues when switching playlist items during a session
Analytics
- Reports play, progress, pause and end events every ten seconds when an API key is set
- Live heartbeat every five seconds for real-time viewer counts
- Includes video, position, duration, source, user id and the active caption language
Controls and events
- Play, pause, seek, fullscreen and switch video from your own code
- Events for ready, play, pause, time, seek, fullscreen, captions, playlist item, cast and AirPlay
- See Controls and events
