ThetaDev
96d1829490
fix: a/v streams incorrectly recognized as video-only
2025-01-22 01:59:01 +01:00
ThetaDev
a9ec7055d1
fix: player_from_clients method not send/sync
2025-01-16 04:23:02 +01:00
ThetaDev
5cc342a88d
docs: update README
2025-01-16 03:45:12 +01:00
ThetaDev
414f0b97c9
feat: add DRM and audio channel number filtering to StreamFilter
2025-01-16 00:47:49 +01:00
ThetaDev
26d9f674d9
feat: extract player DRM data
2025-01-13 03:22:37 +01:00
ThetaDev
8751ee6a5b
fix: only use auth-enabled clients for fetching player with auth option enabled
2025-01-13 03:22:37 +01:00
ThetaDev
171c22458d
feat: add functions to fetch a user's history and subscriptions
2025-01-05 05:50:58 +01:00
ThetaDev
7a6a020a39
fix: error 400 when fetching player with login
2024-12-20 03:06:03 +01:00
ThetaDev
31677181d5
fix: update client versions, enable Opus audio with iOS client
2024-12-18 19:44:42 +01:00
ThetaDev
7a234cbb74
fix: disable Android client
2024-11-25 15:48:04 +01:00
ThetaDev
40811a89e5
fix: fetch unlocalized player data to interpret errors correctly; regression introduced with v0.6.0
2024-11-09 03:08:00 +01:00
ThetaDev
8cc227077b
feat: add OAuth user login to access age-restricted videos
2024-10-23 23:02:32 +02:00
ThetaDev
448657bcb5
feat!: generate random visitorData, remove RustyPipeQuery::get_context and YTContext<'a> from public API
2024-10-23 01:51:16 +02:00
ThetaDev
43805aca66
feat!: remove TvHtml5Embed client as it got disabled
2024-10-23 01:42:02 +02:00
ThetaDev
93dbd0d20c
fix: fetch artist albums continuation
2024-10-22 23:56:59 +02:00
ThetaDev
ee76cee8d1
feat: add mobile client
2024-10-13 05:16:06 +02:00
ThetaDev
9f16a63fe3
fix: player_from_clients: fall back to TvHtml5Embed client
2024-08-17 00:21:47 +02:00
ThetaDev
0b8cc6ac86
fix: detect ip-ban error message
2024-08-10 16:26:43 +02:00
ThetaDev
1a62471ad7
feat: change default player client order
2024-08-10 03:03:15 +02:00
ThetaDev
1bd49fc53d
fix: set tracing instrumentation level to Error
2024-08-10 00:06:56 +02:00
ThetaDev
f27d0492cb
feat!: add TV client
2024-07-30 01:55:24 +02:00
ThetaDev
b2839f773d
feat: add player_from_clients function to specify client order
2024-07-29 18:03:31 +02:00
ThetaDev
9517de2dcd
fix: improve deobfuscator (support multiple nsig name matches, error if mapping all streams fails)
...
Since YouTube keeps changing the nsig function signature and a generic regex may match at multiple places, I changed the extraction logic to search for multiple matches if necessary and test the extracted deobfuscation functions.
I also found out that if the deobfuscation fails for all streams, fetching the player still returns a successful result with no streams, suggesting that the video is not available. So I changed the mapper to throw an ExtractionError if no streams are mapped successfully.
2024-07-29 14:45:52 +02:00
ThetaDev
1934592ab8
feat: add client_type to VideoPlayer, simplify MapResponse trait
...
The MapResponse trait needed too many arguments, so I added the MapRespCtx object.
Also added the client_type to the context, so it can be added to the extracted player data.
This is necessary to be able to download videos with the correct user agent
2024-07-27 02:30:24 +02:00
ThetaDev
36d6061a27
fix!: extracting nsig function, remove field throttled from Video/Audio stream model
2024-07-15 20:41:20 +02:00
ThetaDev
3204de301a
refactor!: rename VideoItem/VideoPlayerDetails.length to duration for consistency
2024-06-16 22:42:11 +02:00
ThetaDev
b5dcdebeab
feat: add UnavailabilityReason: IpBan
2024-06-16 22:24:59 +02:00
ThetaDev
cf3b84fe70
chore: fix clippy lints
2024-05-02 19:39:48 +02:00
ThetaDev
4ab9046d33
fix: remove Innertube API keys, update android player params
2024-04-16 15:18:29 +02:00
ThetaDev
1a22dc835a
fix: handle age restricted channels
...
refactor! rename ExtractionError::VideoUnavailable to ExtractionError::Unavailable
2023-11-05 22:43:04 +01:00
ThetaDev
b25e9ebbb7
fix: send visitor data for YTM playlists
2023-09-28 01:00:00 +02:00
ThetaDev
1d1dcd622f
feat: add tracing
2023-09-22 03:22:38 +02:00
ThetaDev
ac25490435
chore: fix clippy lints
2023-08-30 22:05:18 +02:00
ThetaDev
9d385e8e9b
fix: player from android client
2023-07-30 17:00:47 +02:00
ThetaDev
32b4800b46
fix!: remove possible panic from client builder
...
fix: simplify integer divisions
2023-05-31 12:14:11 +02:00
ThetaDev
cc2cadc309
fix: add support for A/B test 7 (short date format)
2023-05-28 21:07:03 +02:00
ThetaDev
cbeb14f3fd
fix: add pedantic lints
2023-05-13 02:40:26 +02:00
ThetaDev
aa5cd47dcd
feat: add frameset
2023-05-11 17:18:58 +02:00
ThetaDev
86775ea95b
feat: add audio track types
2023-05-11 17:18:58 +02:00
ThetaDev
3a75ed8610
feat!: add channel_videos_tab, channel_videos_order,
...
remove channel_shorts, channel_livestreams
fix: parsing video types and short durations
2023-05-11 17:18:14 +02:00
ThetaDev
289b1cdbf4
refactor: restructure VideoUnavailable error
...
remove internal error types from public interface
2023-05-08 03:36:54 +02:00
ThetaDev
6ab7b2415a
refactor: make DeobfError private
2023-05-08 01:51:27 +02:00
ThetaDev
25025ef701
refactor: remove bail macros
2023-05-04 22:18:38 +02:00
ThetaDev
7bcff13eb8
fix: use fixed testfiles location
2023-03-25 23:18:49 +01:00
ThetaDev
dc0eb1d4cc
fix: use desktop client by default for fetching player
2023-02-13 14:43:09 +01:00
ThetaDev
ee5e82f6bb
fix: instantiate deobfuscator in mapresponse fn
...
Reason: quickjs context is not Send
2023-02-08 12:29:08 +01:00
ThetaDev
79446bed1c
fix: keep JS context when deobfuscating
2023-02-04 16:15:35 +01:00
ThetaDev
331a13568a
fix: v1.67 clippy lints (inline format strings)
2023-01-27 21:19:08 +01:00
ThetaDev
be741d28ca
feat: dont fetch artist playlist section
2023-01-25 21:05:52 +01:00
ThetaDev
92a358a079
refactor: use fancy-regex only for backtracking
2023-01-23 15:33:05 +01:00