Implement support for YouTube TV (tv.youtube.com) #2187
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request implements a reasonable level of support for YouTube TV (referring to YouTube's subscription cable TV replacement service available in the US at tv.youtube.com also known as YTTV, not regular YouTube on TVs.)
YouTube TV uses the same namespace of video IDs as the regular YouTube site, though the overlap of content available on both regular YouTube and YouTube TV is limited. One place where both sites do overlap is the "Free with ads" movies, where some segments have already been submitted:
List of existing IDs on SponsorBlock database likely accessible from YTTV; from sample of 20,000 video IDs from the YouTube movies channel
See also:
zO2-JxMLroE
Notably, the player on YTTV is somewhat different from regular YouTube. For example, using the arrow keys skips ahead/back 15 seconds instead of 5 seconds, and the
,
and.
keys do nothing instead of going frame by frame.This pull request depends on: ajayyy/maze-utils#12 and ajayyy/ExtensionTranslations#73
Implemented features include:
Unimplemented features include:
creating segments on live/recent DVR recordings: I added an
alert()
when attempting to start a segment in this case. I blocked this because the timestamps were weird as under the hood, live content appears to be a monthslong livestream. SponsorBlock was consistently detecting these timestamps as being around the 13 hour mark, which I suspect is due to the underlying video being a full YouTube livestream buffer. Livestreams and recent recordings are converted to regular videos a few hours after recording (with a different video ID) where this issue does not exist. VODs should also be free of this issue.channel whitelisting (getting the channel ID seemed to be non-obvious and generally makes less sense with cable TV; on YTTV I've seen UCIDs refer to TV shows as well as traditional TV channels). I updated the existing error message string but the
alert()
displays somewhat oddly in Firefox:mini player integration (on YTTV the "miniplayer" is basically just a variation of the bottom bar from the regular player where the video keeps playing but is mostly scrolled offscreen; skipping appears to work but highlighting/chapter names/voting/adjusted video lengths are not displayed on the miniplayer)
the seek bar is not visually split into chapter segments
Basic testing performed in Firefox and Chrome.
To test this pull request, follow the instructions in the wiki.