Difference between revisions of "Plays.tv"

From Archiveteam
Jump to navigation Jump to search
m (Add tracker url)
m (Update status)
Line 9: Line 9:
| irc = stops.tv
| irc = stops.tv
| irc_network = hackint
| irc_network = hackint
| archiving_status = {{upcoming}}
| archiving_status = {{inprogress}}

Revision as of 07:25, 10 December 2019

Plays.tv is a platform for sharing video game recordings and screenshots.
Plays.tv is a platform for sharing video game recordings and screenshots.
URL https://plays.tv/
Status Closing
Archiving status In progress...
Archiving type Unknown
Project source https://github.com/ArchiveTeam/playstv-grab
Project tracker http://tracker.archiveteam.org/playstv/
IRC channel #stops.tv (on hackint)

Plays.tv is a platform for sharing video game recordings and screenshots. The website will be shutting down on December 15, 2019.[1].


  • Video watch page: https://plays.tv/video/$VIDEO_WEB_ID
  • Thumbnail: https://d[01]playscdntv-a.akamaihd.net/media/$VIDEO_BUCKET_ID/transcoded/$RESOLUTION.jpg
  • Video: https://d[01]playscdntv-a.akamaihd.net/media/$VIDEO_BUCKET_ID/transcoded/$RESOLUTION.mp4

Video IDs on the watch page URLs are [0-9a-f]{18}. In the bucket, two video ID schemes are in use: older uploads use a YouTube-like ID of [0-9a-zA-Z_-]{11}, newer ones are [0-9a-f]{8}[0-9a-z]{10}[0-9a-f]{6}. For the latter, the web page ID of a video starts with the same eight characters as the bucket ID, but the rest differs.

Known values for $RESOLUTION include: 144, 360, 480, 720, and 1080, with some resources only supporting lower resolutions.

The site uses two Akamai CDN domains, d0playscdntv-a.akamaihd.net and d1playscdntv-a.akamaihd.net, and both are proxies to the raptr-replay S3 bucket. That bucket contains about 422 million objects totalling 1085 TiB based on a scan from 2019-11-22 to 25.

Internal API

  • User feed: https://plays.tv/playsapi/feedsys/v1/userfeed/$USERNAME_OR_USERID/uploaded?limit=[10]&filter=[video|image] (parameters are optional, limit defaults to 10 (the desktop app sets it to 24 and the iOS mobile app sets it to 10), filter defaults to a blank string (none)) This endpoint contains metadata (including a download URL) for each video. Also has /playsapi/feedsys/v1/userfeed/USERNAME_OR_USERID/published?limit=12, /playsapi/feedsys/v1/userfeed/USERNAME_OR_USERID/uploaded?limit=12&displayType=unlisted (requires authentication for data), /playsapi/feedsys/v1/userfeed/USERNAME_OR_USERID/featured?limit=12, /playsapi/feedsys/v1/userfeed/USERNAME_OR_USERID/counts, /playsapi/feedsys/v1/userfeed/USERNAME_OR_USERID/published?limit=12&lastId=XXXXXXXX0000000000 (video ID).
  • User profile: https://plays.tv/ws/orbital/profile/$USERID?_orbitalapp=1 (the orbitalapp parameter doesn't seem to do anything). Requires the user id, and won't return anything for usernames. It also lists 12 of the user's videos (with urls to video thumbnails but not the video files themselves), and the usernames, profile images, and ids of followers, following, and friend suggestions.
  • The user id can be obtained by searching for "target_user_id" in the source code of their user page: https://plays.tv/u/$USERNAME
  • Video: https://plays.tv/playsapi/feedsys/v1/media/$VIDEO_WEB_ID. Also has /react, /unreact, /track, /repost, /unrepost, /unlist, /publish, /comments?page=[0]&limit=[99].
  • User: https://plays.tv/playsapi/usersys/v1/user/$USERNAME_OR_USERID Returns username, user id, profile picture.
  • Comment: https://plays.tv/ws/comment/create. Also /delete.
  • User timeline: https://plays.tv/playsapi/feedsys/v1/userfeed/$USERNAME_OR_USERID/timeline?limit=[12?]&filter=[(none)|friends] Requires authentication.
  • Notifications: https://plays.tv/ws/orbital/notifications/get Requires authentication.
  • Something related to streaming (maybe creating a stream?): http://stream.playsapi.tv/v1/stream?userId=$USERID&appVersion=3.0.0&augerVersion=$AUGERVERSION