4a9d59c9b4
fix: filter out DRC and VB audio from wdata
2025-11-21 09:59:22 +01:00
d1f381220d
fix: use exclusively tv player for age-restricted videos
...
also filter out DRC audio
2025-11-20 17:54:41 +01:00
eebf434f3e
feat: support age-restricted videos when cookies are provided
2025-11-20 13:02:38 +01:00
11c94c757e
fix: don't show playlists in related videos feed
...
items in related feed are now checked by contentType to determine if
they are videos or not
2025-11-07 18:45:11 +01:00
da2daab16a
feat: preliminary DASH support (for freetube/yattee, no manifest)
...
rewrites struct returned by innertube with video url retrieved by yt-dlp
works on freetube with proxying disabled; enabling proxying causes
horrible performance. yattee seems unaffected.
2025-11-06 21:53:32 +01:00
668e8c32aa
feat: support for lockupViewModel inside of channels' video feed
...
this is rare and currently a/b tested
2025-10-18 14:39:55 +02:00
b0845d723a
feat: storyboard generation (json, webvtt) and proxy
...
adds support for video storyboard extraction, generation and proxying
2025-10-15 00:03:45 +02:00
2b24fc2906
feat: videoplayback proxying
...
adds support for proxying videos through the instance
the support is configurable, and disabled by default
2025-10-05 19:59:23 +02:00
5944fd2458
feat: support for "trending" playlists (without authors)
...
also introduces a fix for text run parsing (by forcing obj to be a dict)
2025-10-05 17:22:15 +02:00
468795a7a2
feat: search pagination
...
adds support for getting past the first page of search results
2025-10-03 01:16:56 +02:00
7eb4452fec
feat: make maxres provide the best quality thumbnail available
2025-10-02 12:42:12 +02:00
e7ae42f289
fix: simulate pagination for clients that rely on it
...
some clients (like clipious) use pagination on playlists and rely on
videos field to tell if the playlist has no more videos.
here all videos are returned for non-paginated queries, with empty video
field returned for every paginated query, which page is not equal to "1"
2025-10-02 02:27:51 +02:00
5bb542826e
feat: rewrite channel api endpoints in reversed order
2025-10-02 01:23:37 +02:00
a2e2fedc90
fix: handle empty channel tabs gracefully
...
prevents 500s when a channel tab is empty
2025-09-28 10:12:23 +02:00
4a311f185c
fix: prefer android_vr extractor by default
...
this is possibly one of the last known extractors unaffected by
signature extraction and decryption shenanigans, which cripples load
times on lower-end hardware
2025-09-28 07:47:17 +02:00
f73e6c11d4
fix: playlist description and collaborative playlist rendering
...
falls back to the more "universal" microformat for description
extraction and provides limited support for collaborative videos
(no channel ucids or collaborator names)
2025-09-28 06:32:39 +02:00
34e00e2492
fix: handle collaboratively authored videos in playlists and videos
...
endpoint
currently, the videos endpoint returns the video uploader name,
and not "author1, author2, author3" as is the case for videoRenderer
and playlistVideoRenderer - this might change in the future in order for
the endpoints to return the same data
2025-09-28 05:02:51 +02:00
f63c620541
fix: avatars for artist channels
...
ensures that we get the renderers, rather than expecting them to always
be the first or second element of primary_results (which is not the case
if the video has for example the "Nearest event" ticketShelfRenderer)
2025-09-27 23:52:50 +02:00
e6d32091e1
fix: don't check for plid length
...
playlist ids can be of many lengths (at least 18, 34 and 36) and there
doesn't seem to be a rule for how many characters encode a typical
(non-mix, video-related) playlist. such validation requires more
research.
2025-09-27 20:41:07 +02:00
1c9174c888
feat: playlist browsing
...
pagination still needs refinement for some of the clients.
on another note, this is an anniversary commit, as ythdd turns 1 year
today.
2025-09-25 23:30:59 +02:00
6d0c70696b
docs: reorganize and update TODOs
2025-09-25 06:50:10 +02:00
509e81aafa
feat: add a temporary proxy for no_thumbnail
...
ideally, this would be served from a local resource instead of proxying
2025-09-25 06:36:23 +02:00
bedcaff7c0
fix: skip playlists in related video feed
...
they aren't returned by the invidious api in the first place
2025-09-23 20:10:19 +02:00
60712f3b5d
fix: provide "latest" endpoint for channels
2025-09-23 04:19:42 +02:00
c20d4c34aa
feat: check for playback errors and return them in invidious api fashion
2025-09-22 10:50:33 +02:00
3e84cf3443
fix: check video id for validity before passing to yt-dlp and extractor
2025-09-19 04:55:34 +02:00
4a3937a923
feat: livestream browsing
...
adds the ability to browse channel's livestreams, just like with
shorts, videos and playlists
2025-09-18 08:09:33 +02:00
5a1e772909
feat: add support for video livestreams
2025-09-17 00:13:20 +02:00
7c4991cea7
fix: fix for infinite recursion/deadlock for specific channels
...
this applies mainly for meta channels like UC4R8DWoMoI7CAwX8_LjQHig,
which ythdd can't parse and thus doesn't support
2025-09-16 23:36:53 +02:00
5f88d6f096
docs: update todos and error message when comment extraction fails
2025-09-16 23:35:07 +02:00
ef177f7200
feat: video comments endpoint
2025-09-14 07:02:22 +02:00
d0d2298186
fix: rely on hardcoded default user avatar for failed requests
2025-09-14 04:01:19 +02:00
e562d1ee14
hotfix: rename a variable used for extraction of recommended feed
...
also minor nitpicky comment corrections
2025-09-12 04:05:56 +02:00
96c1b5396e
feat: channel browsing and code overhaul
...
a lot of code responsible for parsing data into invidious-compatible
structures has been moved to the ythdd_struct_parser file
2025-09-12 03:48:57 +02:00
2a9826eb03
refactor: support search caching
...
remains to be seen whether this is a good idea or not
2025-09-07 05:30:16 +02:00
37e932956d
feat: search suggestions
2025-09-07 05:05:11 +02:00
15d2de5228
chore: change the hostname in default config to match the one assumed
...
(if not explicitly passed to the script, e.g. when running with flask)
2025-09-05 18:51:09 +02:00
3cf203ee27
fix: reintroduced fix for live or upcoming videos in related feed
2025-09-05 18:19:18 +02:00
a814797363
feat: basic support for search queries
...
currently returns videos and playlists - the latter don't yet have
an API endpoint
2025-09-05 06:23:45 +02:00
89f8f2a786
fix: yattee's mpv-specific resolution workaround
...
for some reason Yattee's mpv backend won't play videos which are using
an "unusual" aspect ratio (at least ones which are not 360p)
2025-09-05 05:17:13 +02:00
3e7589aea6
fix: revert previous commit, convert to unix epoch at the end
2025-08-05 23:45:11 +02:00
cd34b2e406
fix: premiere timestamp should be unix epoch, not iso time
...
fixes past live stream playback on clipious
2025-07-24 20:40:59 +02:00
3a0a89f737
fix: fixes server error when recommended videos are "LIVE" or "Upcoming"
2025-07-08 14:51:04 +02:00
55a116e042
hotfix: make it 3 hours, not 3 minutes
2025-07-07 11:42:22 +02:00
51b94842e3
fix: workaround long load times with naive in-memory caching
2025-07-07 11:34:57 +02:00
3253447c72
fix: support new lockupViewModel for recommended videos
2025-07-02 23:17:16 +02:00
32c563a45a
fix: ensure clen is a string
...
fixes clipious playback
2025-06-29 14:28:43 +02:00
3ea3558990
fix: retrieve itag 18 even if it's in https protocol
2025-06-28 20:52:38 +02:00
6cdae051b5
fix: make clipious and freetube work by adding some made-up metadata
...
for the most part ok, but there are some (music) videos which won't work
2025-06-28 05:56:05 +02:00
4e066e4b23
fix: rebuild formats from yt-dlp data
...
makes yattee and freetube work
2025-06-27 23:02:57 +02:00