aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/watch.py
Commit message (Collapse)AuthorAgeFilesLines
* Use mobile embed page to bypass captcha blockageJames Taylor2021-02-261-1/+1
| | | | | | | | The aggressive IP-blocking doesn't apply to embed pages Fixes #47 Signed-off-by: Jesús <heckyel@hyperbola.info>
* General theme: fix syntax W3C markup and add improve 'Published' dateJesús2020-12-301-0/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* pep8Jesús2020-12-211-1/+1
|
* Include watch_headers in get_video_info so error lang is englishJames Taylor2020-12-211-1/+3
| | | | | | | | | | | e.g. if the error in get_video_info is "Video unavailable" must include the Accept-Language header (which we have in watch_headers) in order to get an English error message. Otherwise we get the language of the Tor exit node region Example: https://youtu.be/aaaaaaaaaaa Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix exception when video comments disabled and blank comments infoJames Taylor2020-12-211-1/+1
| | | | | | | e.g. happens on vid where comments are disabled if comments disabled in settings since the comments info object is just {} Signed-off-by: Jesús <heckyel@hyperbola.info>
* Patch-import-migrate: Add embed page for embeds on the webJesús2020-12-191-7/+23
| | | | | | | Issue #36 From e51f0a78c778a2283887db7ffc22421a7c849296 Mon Sep 17 00:00:00 2001 From: James Taylor <user234683@users.noreply.github.com>
* pep8Jesús2020-12-151-15/+27
|
* Always extract from html watch page to get base.js urlJames Taylor2020-12-121-25/+6
| | | | | | Youtube removed the url from the pbj responses. They are now only in the html page. Replaces previous fix for the missing base.js issue.
* Retrieve base.js url from html watch page when it's missingJames Taylor2020-12-091-13/+25
| | | | Fixes failure mode 3 in #22
* watch: Fix exception in to_valid_filename when video title is NoneJames Taylor2020-10-281-1/+1
|
* Put vid title at end of download urls so downloads w/ that filenameJames Taylor2020-10-221-0/+11
|
* Redo fix for failure mode 1 in issue #22James Taylor2020-10-211-2/+2
| | | | | Previous fix didn't work. Should work now. The non-embedded player response can still be present but the urls will be missing.
* Merge branch 'master' into add_sponsorblockJames Taylor2020-10-211-4/+8
|\
| * Use get_video_info to get video urls if player response missingJames Taylor2020-10-191-4/+8
| | | | | | | | Fixes failure mode 1 in #22
* | proxy 'sponsor.ajay.app'zrose5842020-10-181-0/+4
|/
* add comments.jszrose5842020-10-071-2/+0
|
* Fix video height not scaling down when browser window is narrowJames Taylor2020-10-011-0/+1
| | | | | | This solution still makes sure the video doesn't jump in height when it loads, and makes it so the video scales down properly in aspect ratio as the browser window is made narrower.
* Use tor video routing instead of invidious for 403sJames Taylor2020-09-251-44/+8
| | | | | Using invidious isn't always successful, whereas Tor video routing appears to be near 100% successful.
* Specify video height in html so page doesn't shift down after loadJames Taylor2020-09-241-8/+9
| | | | | Use true video height extracted from youtube to handle videos shorter than their quality size. (e.g. widescreen videos)
* Add tor video routingJames Taylor2020-09-181-4/+10
| | | | | | | | | | Includes non-tor video routing by default, so no more chances of the browser leaking headers or user agent to googlevideo Adjust settings upgrade system to facilitate change to route_tor setting. Add some more space on settings page for dropdown settings so does not overflow due to options with long names. Closes #7
* Add setting to enable/disable video hotkeysJames Taylor2020-09-091-3/+1
|
* Bugfix: Support integer-only ?t paramJames Taylor2020-07-301-0/+2
| | | | When there's only an integer, and no unit, it's all in seconds
* Add support for &t parameterJames Taylor2020-07-251-0/+8
|
* Add video transcript to downloadsJames Taylor2020-07-251-1/+80
| | | | Generated from the video captions
* Include livestream fmt urls for former livestream w/o static urlsJames Taylor2020-06-281-1/+13
| | | | | | | If none of the format urls for the former livestream are static, meaning they use a non-livestream format playable by the browser, then include the dialog for copying hte livestream format urls into external video player
* Add dialog for copying urls to external player for livestreamsJames Taylor2020-06-281-1/+18
| | | | | Also for livestreams which are over whose other sources aren't present or aren't ready yet.
* Add option for reloading video without invidiousJames Taylor2020-05-271-39/+48
| | | | For faster usage of new identity button as an alternative
* Fix error when invidious fails to return URLSJames Taylor2020-05-271-1/+1
|
* Indicate that video is liveJames Taylor2020-05-271-0/+1
|
* Do not hide comments if false determination of disabled commentsJames Taylor2020-04-101-0/+9
| | | | | | | | If the extraction from watch page determines that they are disabled, but the separate request for the comments found comments, then change that determination, with a warning (since that would be a bug). And set the comment count to None as a dirty way to make such a bug noticeable.
* Add playlist sidebar for videos in playlist, including autoplayJames Taylor2020-04-041-3/+25
|
* Fix MaxRetryError when checking for video URL accessJames Taylor2020-02-181-2/+12
| | | | | | | | The default urllib3 max redirect amount was set to 3. Change it to 10 and do not fail if there is a problem with checking for URL access. Just print the error to the console and proceed. Also add an unrelated remark about the bcptr=9999999999 parameter in watch.py
* Invidious fallback: Use original format info and just substitute invidious urlsJames Taylor2020-02-041-23/+13
| | | | Because the invidious formats don't have all the information
* Watch page: add info box with allowed countries and tor exit nodeJames Taylor2020-02-011-0/+6
| | | | Should help with debugging various content blocks
* Check for 403 errors and fallback on InvidiousJames Taylor2020-02-011-0/+53
| | | | 403 errors on the video urls happen typically when a video has copyrighted content or was livestreamed originally. They appear to not happen (or at least happen less frequently) if the Tor exit node used ipv6, however.
* Give a proper error message for 429 errorsJames Taylor2020-01-311-0/+1
| | | | | | These occur when too many requests are coming from a Tor exit node. Before, there would be an error page with an exception instructing users to report the issue. But this is an expected and persistent issue.
* Watch: display comment count and whether comments are disabledJames Taylor2019-12-201-0/+2
|
* Better error handling for incorrect watch page urlsJames Taylor2019-12-201-2/+4
| | | | | - Correctly handle /embed, /watch with no video ids - Correctly report error for this and for too short video ids
* Add support for /embed urlsJames Taylor2019-12-201-2/+3
|
* Extraction: Move non-stateful signature decryption functionality into ↵James Taylor2019-12-191-85/+12
| | | | yt_data_extract
* Extraction: Move html post processing stuff from yt_data_extract to utilJames Taylor2019-12-191-2/+2
|
* Extraction: rename multi_get functions to more descriptive namesJames Taylor2019-12-181-4/+4
|
* Extraction: Rewrite item_extraction for better error handling and ↵James Taylor2019-12-181-4/+4
| | | | readability, rename extracted names for more consistency
* Extraction: Detect limited state and fix false detection as unlistedJames Taylor2019-12-171-0/+1
|
* Extraction: Make limited state videos workJames Taylor2019-12-171-1/+1
|
* Extraction: Fix subtitles error when video has no automatic captions but has ↵James Taylor2019-12-141-1/+5
| | | | foreign language captions
* Extraction: Bypass age-restrictionJames Taylor2019-12-121-5/+21
|
* Extraction: Add general subtitle extraction and translationJames Taylor2019-11-291-39/+93
|
* Extraction: return and display any errors preventing video playbackJames Taylor2019-11-221-1/+2
|
* Extraction: Add signature decryptionJames Taylor2019-10-181-16/+133
|