twitch-dvr
is a Chrome extension that replaces the built-in Twitch player with a custom player that supports DVR: that is, you can seek to any point in the current broadcast and jump back to live at any time. Note that twitch-dvr
does not replace the VOD player, nor the frontpage player. The user can switch between the DVR player and the default Twitch player at any time.
twitch-dvr
is written in vanilla Javascript 😱.
To install twitch-dvr
for development, simply go to chrome://extensions
(or edge://extensions
on Edge), enable Developer Mode if you haven't already, and then choose "Load Unpacked" and navigate to and select manifest.json
from this repo.
twitch-dvr
does not do any form of adaptive bitrate switching. It is the author's opinion that adaptive bitrate is a bad user experience, unless you have tons of variants like Netflix, and even sometimes then. It is understandable that Twitch switches variants when the tab loses focus to save on bandwidth, but this extension does not implement that feature either (that Twitch "feature" is also somewhat buggy, a lot of the times the player will forget your preferred quality).This extension was initially written to use Twitch's .ts segments directly with Media Source Extensions, however only Edge on Windows supports this. As a result, we now use mux.js to transmux .ts video to mp4
. It would be nice to support pure mp2t
mode for Edge, but unfortunately the fact that mp4
has timestamps that always start at 0 vs ts
having timestamps of actual stream time means that supporting both is a bit clunky.