wukko
2ebe2899be
api/youtube: return an appropriate error if a video is locked behind DRM
2025-03-13 13:23:03 +06:00
wukko
b5ba86dd75
api/youtube: return a proper error if the video is "inappropriate"
2025-02-13 17:09:03 +06:00
jj
3f6dd4fced
api/youtube: expect errorInfo to not be json
2025-02-08 20:59:53 +00:00
jj
ee3ef60a20
api/youtube: expect one of itags to be empty
2025-01-20 20:12:21 +00:00
jj
19ade7c905
api/youtube: return internal metadata for replaying request
2025-01-20 14:47:09 +00:00
jj
7767a5f5bb
api/youtube: add support for pinning client/itag
2025-01-20 14:46:55 +00:00
jj
ec0d773792
api/youtube: use Math.min instead of ternary operator
2025-01-20 12:38:12 +00:00
jj
0378a1ae15
api/youtube: fix error when downloading stuff from WEB
2025-01-20 12:37:36 +00:00
wukko
4d634603e2
api/youtube: fix variable shadowing
...
oops
2024-12-23 23:34:05 +06:00
wukko
c6d0e0bdd5
api/youtube: use poToken, visitorData, and web client with cookies
...
and also decipher media whenever needed, but only if cookies are used
2024-12-23 22:58:16 +06:00
jj
9da3ba60a9
api/youtube: add support for cookies
2024-12-23 11:11:48 +00:00
wukko
4b8b0a0e9e
api/youtube: don't retrieve the player as cobalt doesn't use it
...
we don't decipher anything lol
2024-12-10 17:30:32 +06:00
wukko
6770738116
api/create-filename: build & sanitize filenames in one place
2024-11-24 18:12:21 +06:00
wukko
5b445d5c7e
api/youtube: catch even more innertube errors
2024-11-23 15:37:42 +06:00
jj
f7dc6cebad
all: add space after catch
2024-11-15 12:19:49 +00:00
wukko
3fe2bd3b7c
api/youtube: add missing else to adaptive codec fallback
2024-11-13 22:23:45 +06:00
wukko
dec977e34d
api/youtube: fix variable shadowing in normalizeQuality
2024-11-13 18:45:18 +06:00
wukko
c88e21d4a8
api/youtube/adaptive: refactor, avoid extra loops, fallback all codecs
2024-11-13 18:41:57 +06:00
wukko
5f1c19d0f1
api/youtube: add no matching format error
...
this error is returned when cobalt got a response from innertube, but couldn't find a matching combo of video and audio streams. sometimes youtube returns only video or only audio per format combo for whatever reason.
2024-11-13 15:00:09 +06:00
wukko
8b972c7a85
api/youtube: disable hls if user prefers av1
2024-11-13 14:50:13 +06:00
wukko
b6e827c6f9
api/youtube: improve video quality normalization once again
2024-11-13 14:49:51 +06:00
wukko
2c451c69d0
api/youtube: rename quality variable in matchQuality
2024-10-31 21:43:02 +06:00
wukko
3dd6165472
api/youtube: slight refactor of matchQuality
2024-10-31 21:37:11 +06:00
wukko
5470926d52
api/youtube: adjust matched resolution
...
heights like 714 are now adjusted to 720, so that preferred quality is picked correctly
2024-10-31 21:31:39 +06:00
wukko
da72b9615e
api/youtube: use best quality if all else fails
2024-10-31 21:18:34 +06:00
wukko
406ac7613c
api/youtube: make sure language exists when checking for hls dubs
...
oops
2024-10-30 22:55:50 +06:00
wukko
367cab0de4
api/youtube: update hls vp9 container to webm
...
way better compatibility this way
2024-10-30 17:18:18 +06:00
wukko
e081751c59
api/youtube: fix dubbed audio track matching
2024-10-28 23:05:56 +06:00
wukko
17c020fe22
api/youtube: fix dubbed hls audio marking
2024-10-28 21:38:25 +06:00
wukko
b14c618228
api/youtube: pick a default track for videos with ai dubs
2024-10-28 19:35:08 +06:00
wukko
14ca47b73d
api/youtube: make mp3
the best format for hls audio
2024-10-28 18:30:01 +06:00
wukko
866427a7a7
api/youtube: fix local variable overlap
2024-10-28 16:55:44 +06:00
wukko
effec1bfb9
api/youtube: return correct audio url in hls mode
...
my disappointment in its quality is immeasurable
2024-10-28 16:45:48 +06:00
wukko
fba6ba09c2
api/youtube: add hls codec fallback, update hls error code, refactor
...
also fixed best audio format
2024-10-28 15:45:18 +06:00
wukko
c9eefc4d55
api/youtube: add an option to use HLS streams
...
- added `youtubeHLS` variable to api
- added youtube HLS parsing & handling
2024-10-28 15:17:54 +06:00
wukko
7798844755
api/youtube: refactor, fix fallback, don't repeat same actions
...
fallback to h264 is now done if there's no required media, not only if adaptive formats list is empty.
best audio and best video are now picked only once.
2024-10-28 12:01:38 +06:00
wukko
fb7325f3b2
api/youtube: more refactoring, return audio even if there's no video
2024-10-26 23:53:43 +06:00
wukko
8b15fe7863
api/youtube: check if playability is ok after the status switch
2024-10-26 22:49:16 +06:00
wukko
cfb05282c3
api/youtube: refactor, fallback codecs, don't return premuxed videos
2024-10-23 19:56:59 +06:00
wukko
ae271fd3c6
api/youtube: refactor playability status handling
2024-10-23 18:08:50 +06:00
wukko
a3ee3d9c16
api/youtube: catch one more age limit error
2024-10-23 14:01:10 +06:00
wukko
bf7a48a36c
api/youtube: fix youtube music metadata parsing
...
still pretty crappy tho
2024-09-28 02:01:43 +06:00
wukko
ca538a2e6c
api/youtube: use webm container for av1 and opus
2024-09-12 20:07:56 +06:00
wukko
a589bf7e54
api/youtube: fix audio dub track detection
2024-08-25 14:48:46 +06:00
wukko
0bbf822d70
api/youtube: catch token expiration error
2024-08-24 18:34:02 +06:00
wukko
7ac0726f37
api: move error context to matcher
2024-08-24 16:56:07 +06:00
wukko
facf7741ce
api/stream: standardize stream types & clean up related functions
2024-08-22 17:37:31 +06:00
wukko
281ae25d4a
api/youtube: prefer higher quality even if premuxed video is available
2024-08-20 22:27:03 +06:00
wukko
05abf9ad3e
api: update error codes in services, add more error codes where needed
2024-08-20 21:10:37 +06:00
wukko
c1813aa33f
api/stream: rename bridge
mode to proxy
2024-08-15 19:58:40 +06:00