New Release! Codename: 'Oreo-Party'

UPDATE 2019-07-18: We’re having some issues with getting the extension published on Chrome. The features described below will be available once your extension updates to v2.3.1 or above.

We’ve been working on a lot of new features and improvements over the past couple of months, and the time has finally come to package them all up and roll it out as an update. There were things that made the cut, and a few that got left out for a future release. In this post, we’ll be discussing the ones that did make the cut.

Here’s a full list of changes. We’ve described the bigger changes below:

  • MPEG-DASH
    • Preliminary support
    • Does not work with copy-protected (DRM) streams
  • Added support for Plex (experimental)
    • Does not support Direct Play at the moment
  • Now works with vrv.co (experimental)
  • Framework to support more third-party websites (webpage-framing)
    • Added support for Shudder using webpage-framing
  • Improved sync logic for uploaded captions
  • Fixed login issues

Plex

Plex was a heavily requested feature that we started working on a couple of months ago. The biggest challenge with Plex was being able to share the videos without revealing the underlying X-Plex-Token that could compromise a user’s library. This token is required when requesting information from the user’s Plex Media Server—be it metadata or video streams, but can also be used for destructive actions such as deleting content. TwoSeven ensures that the tokens are protected by acting as a proxy between the media owner and the other participants. When the owner requests that a Plex video be shared with others on TwoSeven, the extension sends across all the media info to TwoSeven which then combines the necessary information to create a copy of the original Plex manifest. This copy does not contain the token, and it is this copy that is shared with the others in place of the original manifest. Additionally, to ensure that the transcoding session is kept alive, twoseven will ping the owner periodically, and ensure that the session remains active. Short disconnections from the owner should not disrupt the other participant’s streams, but if the owner remains disconnected for more than 15 minutes, then the session will time out and
other participants will not be able to view the stream any longer.

Plex is still experimental, so in case you encounter any bugs or issues, please let us know.

MPEG-DASH

MPEG-DASH is a popular streaming solution that many websites use. Hls.js and MPEG-DASH allow adaptive bitrate streaming wherein users will switch streams depending on the available bandwidth. This update adds support for MPEG-DASH streams, and enables TwoSeven to detect and synchronize streams from even more websites. One such website that benefits from this addition is the anime streaming website vrv.co.

Webpage-Framing

Our last big change for this update might very well be the most impactful one in the long run. This update adds generic support for embedding websites on top of twoseven. In the future, when websites begin to use DRM-protected streams en masse, being able to embed websites, ala Netflix, will become necessary. We also created a reference implementation of this
technique by adding support for Shudder—a streaming service for fans of thrillers, suspense and horror genres. So far, our experience with this framework has been very encouraging. We were able to add support for Shudder in less then 150 lines of code. We will share more details about this framework in a separate post.