aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/static
Commit message (Collapse)AuthorAgeFilesLines
* Release v0.4.0 - HD Thumbnails, YouTube 2024+ Support, and yt-dlp Integrationv0.4.0Astounds6 hours1-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major Features: - HD video thumbnails (hq720.jpg) with automatic fallback to lower qualities - HD channel avatars (240x240 instead of 88x88) - YouTube 2024+ lockupViewModel support for channel playlists - youtubei/v1/browse API integration for channel playlist tabs - yt-dlp integration for multi-language audio and subtitles Bug Fixes: - Fixed undefined `abort` import in playlist.py - Fixed undefined functions in proto.py (encode_varint, bytes_to_hex, succinct_encode) - Fixed missing `traceback` import in proto_debug.py - Fixed blurry playlist thumbnails using default.jpg instead of HD versions - Fixed channel playlists page using deprecated pbj=1 format Improvements: - Automatic thumbnail fallback system (hq720 → sddefault → hqdefault → mqdefault → default) - JavaScript thumbnail_fallback() handler for 404 errors - Better thumbnail quality across all pages (watch, channel, playlist, subscriptions) - Consistent HD avatar display for all channel items - Settings system automatically adds new settings without breaking user config Files Modified: - youtube/watch.py - HD thumbnails for related videos and playlist items - youtube/channel.py - HD thumbnails for channel playlists, youtubei API integration - youtube/playlist.py - HD thumbnails, fixed abort import - youtube/util.py - HD thumbnail URLs, avatar HD upgrade, prefix_url improvements - youtube/comments.py - HD video thumbnail - youtube/subscriptions.py - HD thumbnails, fixed abort import - youtube/yt_data_extract/common.py - lockupViewModel support, extract_lockup_view_model_info() - youtube/yt_data_extract/everything_else.py - HD playlist thumbnails - youtube/proto.py - Fixed undefined function references - youtube/proto_debug.py - Added traceback import - youtube/static/js/common.js - thumbnail_fallback() handler - youtube/templates/*.html - Added onerror handlers for thumbnail fallback - youtube/version.py - Bump to v0.4.0 Technical Details: - All thumbnail URLs now use hq720.jpg (1280x720) when available - Fallback handled client-side via JavaScript onerror handler - Server-side avatar upgrade via regex in util.prefix_url() - lockupViewModel parser extracts contentType, metadata, and first_video_id - Channel playlist tabs now use youtubei/v1/browse instead of deprecated pbj=1 - Settings version system ensures backward compatibility
* fix: prevent error when closing avMerge if not a functionJesus2025-03-081-1/+2
|
* Add styles error in playerJesus2025-03-081-0/+26
|
* Improve buffer management for different platformsJesus2025-03-081-2/+28
| | | | | | | - Introduced `BUFFER_CONFIG` to define buffer sizes for various systems (webOS, Samsung Tizen, Android TV, desktop). - Added `detectSystem()` function to determine the platform based on `navigator.userAgent`. - Updated `Stream` constructor to use platform-specific buffer sizes dynamically. - Added console log for debugging detected system and applied buffer size.
* Renew plyr UI and simplify elementsJesus2025-03-081-0/+38
|
* update logic plyr-start.jsAstound2025-03-031-1/+16
|
* normalize cssAstound2024-04-081-2/+2
|
* fix color dark themeAstound2024-04-082-7/+8
|
* css normalizeAstound2024-04-072-8/+8
|
* update styles to modernAstound2024-04-075-21/+27
|
* av-merge: Retry more than once for timeoutsAstound2024-03-101-1/+2
|
* Update Plyr custom styles for menu containerAstound2024-01-291-0/+8
| | | | | | | Specifically, set a maximum height and added vertical scrolling to address an issue related to Plyr's menu height. Improve the overall usability and visual appearance of the menu in video player.
* Adjust Plyr custom styles for video preview thumbnailAstound2024-01-291-0/+9
| | | | | | | | In custom_plyr.css, made adjustments to styles for video preview thumbnail in Plyr Specific changes: - Modified the size and positioning of the thumbnail container to improve the visual presentation. - Enchance the user experience when interacting with video previews.
* Refactor styles on video playback pageAstound2024-01-292-14/+22
| | | | | | | | | Made changes to the styles on the video playback page to enhance visibility and address issues with the video player. Added a new custom style file for Plyr, and removed redundant and unused styles in watch.css. Specific changes: - Added custom_plyr.css for Plyr styles. - Removed redundant styles related to playback issues in watch.css
* Revert update plyr0.2.7Astound2024-01-284-4812/+5315
|
* av-merge: Retry failed requestsAstound2024-01-261-11/+37
| | | | Should reduce playback stalling
* av-merge: Use fetchRange promise properlyAstound2024-01-261-18/+25
|
* Set flexible responsive videoAstound2024-01-241-1/+1
|
* update plyrAstound2024-01-224-5314/+4812
|
* Add autoplay to plyrAstound2024-01-221-48/+42
|
* Refactor captions logic in Plyr video player initializationAstound2024-01-221-11/+4
| | | | | Simplify the captions logic in the Plyr video player initialization by using a conditional statement. Cleaner and more concise code.
* Add autoplay functionality in Plyr video playerAstound2024-01-221-0/+4
| | | | Introduce autoplay feature in the Plyr video player based on the configuration settings.
* copyTextToClipboard: support fullscreenzrose5842022-08-071-2/+3
|
* onKeyDown: ignore plyr CustomEventszrose5842022-08-071-0/+1
|
* fix figure tag of sc-videoJesús2022-05-311-0/+3
|
* Revert update plyrJesús2022-05-303-3231/+3875
| | | | | because iceweasel not support engine v8+ More info: https://repo.palemoon.org/MoonchildProductions/UXP/issues/1675
* update plyr configJesús2022-02-111-0/+5
|
* Update plyr moduleJesús2022-02-113-45/+105
|
* Fix name settings in hotkeysJesús2022-01-291-1/+1
|
* hotkeys.js: fix 'f'Jesús2022-01-291-2/+11
|
* handle missing storyboardzrose5842022-01-171-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* add preview thumbnailszrose5842022-01-091-0/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* [FrontEnd]: fix dropdown designJesús2021-12-319-59/+39
|
* [FrontEnd]: remove unused stylesJesús2021-12-311-91/+0
|
* [FrontEnd]: fix missing unsubscribe styleJesús2021-12-311-0/+269
|
* [FrontEnd]: light_theme, change link-visited colorJesús2021-12-271-1/+1
|
* [FrontEnd]: fix dropdown designJesús2021-12-2711-53/+116
|
* [FrontEnd]: improved settings designJesús2021-12-264-3/+10
|
* [frontend]: fix design in playlistJesús2021-12-181-0/+6
|
* [frontend]: fix reporInfo in prototypeJesús2021-12-161-0/+3
|
* [frontend]: relax find segmentJesús2021-12-161-1/+4
|
* [frontend]: fix global scope, change var to letJesús2021-12-167-84/+87
|
* [Design]: add 0.5rem for grid-gap (col and row)Jesús2021-12-031-3/+3
|
* Improve input stylesJesús2021-09-2211-0/+22
|
* improve quality-selectJesús2021-09-142-12/+6
|
* Redo av codec settings & selections to accomodate webmJames Taylor2021-09-063-36/+51
| | | | | | | | | | | | | | Allows for ranked preferences for h264, av1, and vp9 codecs in settings, along with equal preferences which are tiebroken using smaller file size. For each quality, gives av-merge a list of video sources and audio sources sorted based on preference & file size. It will pick the first one that the browser supports. Closes #84 Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Add webm supportJames Taylor2021-09-061-7/+269
| | | | | | | But watch.py is not providing them yet. Deciding how to fix the codec options/defaults is for a later commit Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Fix segments not properly reappended during QuotaExceededJames Taylor2021-09-011-16/+23
| | | | | | | | | | | | | | | | | | Two issues fixed: 1. The append was only retried if it was the result of a seek event. But if the video is paused (such as if the video was finished and the user seeks back to the beginning), the seek won't happen because the MediaSource will not issue a sourceopen until the user plays the video. A better strategy that solves the true issue is to retry the append if it is for the segment corresponding to the current time, since that is critical to get immediately. 2. If the append was not retried, entry.requested was not getting marked as false, so it would refuse to ever rerequest the segment, so it would stall. Set it to false if we decide not to retry the append, so it can be rerequested later. Signed-off-by: Jesús <heckyel@hyperbola.info>
* watch.js: video variable as const and improve data.time_start syntaxJesús2021-09-011-3/+2
|
* plyr: use strict and fix undefined quality variableJesús2021-09-011-107/+110
|