Player

Video player URL parameters.

The player app is hosted on /play/ on your site. To play a slug, the url is https://yoursite.com/play/#/film/123

Note: the slug, and any player URL parameters go in the hash/fragment portion of the URL!

Supported parameters

Some of these parameters (e.g. Chromecast, Airplay) are also controlled globally by site configuration.

Parameter Type Description Default
t number Position in the video to play from. Resume from last watched. May prompt the user if they want to start over
from string Where the player was launched from. This is where the back button on the player titlebar will take you. Setting this to blank &from= will hide the back button  
nav bool Set to false to hide the player title bar and back button. true
airplay string false will disable the Airplay option true
cast bool false will disable the Chromecast option true
rates bool Enable faster playback rates UI false
tm bool Enable theatre mode button. Intended for use in iframed player as part of the S72 site template false
p string Playtoken. If provided this is used to authorize video playback. None. The user’s auth will be used, and they’ll be redirected to sign in if unauthorized
m string Additional playback position telemetry URL. Telemetry will be sent here as well as Shift72 servers  

Example

https://vod.shift72.com/play/#/film/123?from=https:%2F%2Fapidocs.shift72.com&p=eyJhbGciOiJIUzI1NiIsInR5cCI...

Additional Telemetry URL

The player sends a series of telemetry events roughly every 30 seconds of playback. This allows tracking engagement/watch time, and is also used to track playback progress.

If you provide a telemetry URL, these events will also be sent to your server as a POST request.

The user’s playtoken will be sent as the X-Play-Session header. This can be decoded to access info about the user, or any additional claims added when issuing an external user token.

The payload is documented in the telemetry endpoint

POST /your-api/telemetry
Host: yoursite.com
X-Play-Session: eyJhbGciOiJIUzI1NiIsInR5cCI...
Content-Type: application/json

{
  "ts": "2025-08-08T00:11:34.524Z",
  "slug": "/film/3283",
  "player": 1,
  "elapsed": 30,
  "buffered": 0,
  "bitrate": 4658,
  "estbitrate": 88432,
  "seeked": false,
  "position": 30,
  "length": 214,
  "droppedFrames": 0,
  "adBlocked": false
}

The web player will send telemetry with player id 1 (DASH: most browsers), or 6 (HLS: Safari and Safari-adjacent browsers). The additional telemetry URL will also be passed to Chromecast which will have player_id 4