-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
11.2: subtitles, music covers, local processing for everyone, and more #1370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 91 commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
dbb83b9
web/i18n/settings: remove unused strings
wukko eb90843
web/pagenav: use pop() instead of at(-1)
dumbmoron a06baa4
web: add uuid() function with fallback if randomUUID is missing
dumbmoron 81c8daf
web/storage: robuster er opfs availability check
dumbmoron d0298db
web/i18n/dialog: remove unused strings
wukko ace654e
web/i18n/dialog: remove even more unused strings
wukko 863d39d
web/i18n/about: remove an unused string
wukko 5ea170a
web: deprecate youtube HLS, enable it only via env variable
wukko 507fab8
web/workers/ffmpeg: proper error code for missing audio channel error
wukko e18575f
web/i18n/error/api: update youtube.no_matching_format
wukko 2ac9153
web/CaptchaTooltip: increase max width
wukko 5e7f9c5
api/package: update youtubei.js to 14.0.0
wukko 1e7406d
web/i18n/error/api: rephrase youtube.no_matching_format
wukko af99e72
api: disable youtube HLS by default & add env to enable it
wukko b880157
api/env: SESSION_RATELIMIT -> SESSION_RATELIMIT_MAX
wukko 19be25c
docs/api-env-variables: fix ratelimit variable names
wukko c0d3c21
docs/api-env-variables: add info about ENABLE_DEPRECATED_YOUTUBE_HLS
wukko 1e35931
docs/api-env-variables: update FORCE_LOCAL_PROCESSING section
wukko 967552b
api/schema: add subtitleLang
wukko 259a075
api: initial subtitles functionality with youtube support
wukko b91c0c0
api/stream/types: specify subtitle format for containers other than mp4
wukko 672b3dc
api/match-action: convert ISO 639-1 language codes to ISO 639-2
wukko fef6ee1
web/i18n/error/queue: add missing generic_error
wukko 4da95e0
web/libav: disable wasm multithreading on old ios
wukko 2396462
api/schema: add youtubeVideoContainer
wukko eb249a3
api/match: ignore subtitleLang if it's "none"
wukko 33c801f
api/youtube: add support for youtubeVideoContainer
wukko c4e910d
api/stream/types: refactor, support mkv, don't duplicate args
wukko 3daf1c4
web: refactor youtube-lang
wukko 6e394cd
web/settings: add youtubeVideoContainer & subtitleLang
wukko c9fdfca
web/SettingsDropdown: prevent crash if selectedTitle is undefined
wukko 1e5cc35
web/audio-sub-language: refactor, prioritize popular languages
wukko 5860c50
web/settings/video: add youtube container settings
wukko a30a27a
web/settings/metadata: add subtitles language dropdown
wukko 9f7f637
web/api/saving-handler: add youtubeVideoContainer & subtitleLang
wukko 993a885
web/util: add support for subtitle track language metadata
wukko 7ce9d68
api/youtube: don't use session if user wants subtitles
wukko 96a02d5
web/package: update libav packages
wukko 0b0f0d6
web/queue: add subtitle codec args
wukko 337edfc
api/request/local-processing: return subtitles boolean
wukko 254ad96
web/queue: add subtitle args when output has subtitles
wukko a5838f3
api/stream/types: add subtitles & metadata to remux
wukko a44bea6
api/vimeo: add subtitle parsing from the mobile api
wukko 17ab8dd
web/queue: add subtitles independently from remux type
wukko ab526c2
api/loom: add transcription subtitles
wukko d18b22e
api/processing/request: return a unique error code
wukko aff2d22
api/language-codes: add reverse lookup (2 to 1)
wukko 630e4a6
api/tiktok: add support for subtitles
wukko 2c0a1b6
web/i18n/settings: update subtitles description
wukko a998a57
web/queue: refactor media icon selection
wukko a6b599a
api/schema: transform localProcessing to enum
wukko 28ab274
api/match-action: support forced local processing
wukko ac85ce8
api/processing/request: backwards compat with boolean localProcessing
wukko a4d5f5b
web/settings: migrate boolean localProcessing to enum
wukko 8853989
web/settings/local: transform the media processing setting to a switcher
wukko 61e0862
web/types/api: add proxy local processing type
wukko f883887
web/queue: don't try to add a remux task if response type is proxy
wukko 05fb160
api/match: update forcing local processing via env
wukko 0fca9c4
api/schema: remove deprecated variables
wukko 21c4a1e
api/match: set alwaysProxy to true if local processing is forced
wukko 6d62bce
api/match-action: don't force local-processing response for pickers
wukko b384dc8
web/error/api: add missing "the" to fetch.critical.core
wukko 599ec9d
web/UpdateNotification: update margin & font size
wukko 44f4ea3
api/stream/internal: stream vk videos in chunks
wukko 997b06e
api/vk: add support for subtitles
wukko ff06a10
api/processing/url: improve vk url parsing
wukko 75691d4
api/tests/facebook: replace a dead link
wukko 28b8538
api/vk: allow auto generated subs & pick explicitly vtt
wukko aa376d7
api/stream/types: huge refactor & simplification of code
wukko 14657e5
api/stream: split types.js into proxy.js and ffmpeg.js
wukko 4f4478a
api/ffmpeg: fix audio codec args in remux()
wukko d3793c7
api/ffmpeg: map video and audio in remux() with one main input
wukko fcdf5da
api/ffmpeg: refactor even more
wukko 52695cb
api/service-config: replace static arrays with sets
wukko 3dae5b2
api/ffmpeg: move stream type + url count check to remux()
wukko f4637b7
api/rutube: add subtitles
wukko f7e5951
web/lib/device: enable local processing on all ios devices
wukko 4ff4766
docs/api: add info about subtitle bool in local processing response
wukko 164ea8a
api: return covers from soundcloud and youtube
wukko e4ce873
web/queue: add audio covers & crop them when needed
wukko 655e7a5
docs/api: add info about cover & cropCover
wukko 84aa80e
api/match-action: don't add cover if metadata is disabled
wukko bfb23c8
web/queue: add cover only to mp3 files
wukko 81a0d5e
web/queue: scale cropped covers to 720x720
wukko d69100c
api/tiktok: validate that redirected link is still tiktok
wukko 3243564
api/api-keys: add allowedServices to limit or extend access
wukko dce9eb3
docs/protect-an-instance: add info about allowedServices in api keys
wukko 8feaf5c
api/api-keys: replace .find() with .some() in allowedServices
wukko 900c6f2
api/tests/vimeo: allow mature video tests to fail
wukko 51c5d05
api/service-patterns/tiktok: allow longer shortLink
wukko fffb31d
web/i18n/error/api: fix a typo in fetch.short_link
wukko 9d81830
api/twitter: add subtitle extraction
wukko 7298082
api: refactor two static arrays to set
wukko c164441
api/env: backwards compatibility with SESSION_RATELIMIT
wukko 3d2473d
web/audio-sub-language: refactor to avoid code duplication
wukko bc8c16f
web/env: accept 1 as bool value
wukko d70180b
api/core: merge isApiKey and isSession into authType
wukko 4fc2952
web/audio-sub-language: update localized values dynamically
wukko bd0caac
web/changelogs/11.0: set a fixed commit in compare, fix env name error
wukko a751f81
version-info: return git branch info correctly in cf workers
wukko 8da71e4
api/package: bump version to 11.2
wukko a60e94d
web/package: bump version to 11.2
wukko File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| // converted from this file https://www.loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt | ||
| const iso639_1to2 = { | ||
| 'aa': 'aar', 'ab': 'abk', 'af': 'afr', 'ak': 'aka', 'sq': 'sqi', | ||
| 'am': 'amh', 'ar': 'ara', 'an': 'arg', 'hy': 'hye', 'as': 'asm', | ||
| 'av': 'ava', 'ae': 'ave', 'ay': 'aym', 'az': 'aze', 'ba': 'bak', | ||
| 'bm': 'bam', 'eu': 'eus', 'be': 'bel', 'bn': 'ben', 'bi': 'bis', | ||
| 'bs': 'bos', 'br': 'bre', 'bg': 'bul', 'my': 'mya', 'ca': 'cat', | ||
| 'ch': 'cha', 'ce': 'che', 'zh': 'zho', 'cu': 'chu', 'cv': 'chv', | ||
| 'kw': 'cor', 'co': 'cos', 'cr': 'cre', 'cs': 'ces', 'da': 'dan', | ||
| 'dv': 'div', 'nl': 'nld', 'dz': 'dzo', 'en': 'eng', 'eo': 'epo', | ||
| 'et': 'est', 'ee': 'ewe', 'fo': 'fao', 'fj': 'fij', 'fi': 'fin', | ||
| 'fr': 'fra', 'fy': 'fry', 'ff': 'ful', 'ka': 'kat', 'de': 'deu', | ||
| 'gd': 'gla', 'ga': 'gle', 'gl': 'glg', 'gv': 'glv', 'el': 'ell', | ||
| 'gn': 'grn', 'gu': 'guj', 'ht': 'hat', 'ha': 'hau', 'he': 'heb', | ||
| 'hz': 'her', 'hi': 'hin', 'ho': 'hmo', 'hr': 'hrv', 'hu': 'hun', | ||
| 'ig': 'ibo', 'is': 'isl', 'io': 'ido', 'ii': 'iii', 'iu': 'iku', | ||
| 'ie': 'ile', 'ia': 'ina', 'id': 'ind', 'ik': 'ipk', 'it': 'ita', | ||
| 'jv': 'jav', 'ja': 'jpn', 'kl': 'kal', 'kn': 'kan', 'ks': 'kas', | ||
| 'kr': 'kau', 'kk': 'kaz', 'km': 'khm', 'ki': 'kik', 'rw': 'kin', | ||
| 'ky': 'kir', 'kv': 'kom', 'kg': 'kon', 'ko': 'kor', 'kj': 'kua', | ||
| 'ku': 'kur', 'lo': 'lao', 'la': 'lat', 'lv': 'lav', 'li': 'lim', | ||
| 'ln': 'lin', 'lt': 'lit', 'lb': 'ltz', 'lu': 'lub', 'lg': 'lug', | ||
| 'mk': 'mkd', 'mh': 'mah', 'ml': 'mal', 'mi': 'mri', 'mr': 'mar', | ||
| 'ms': 'msa', 'mg': 'mlg', 'mt': 'mlt', 'mn': 'mon', 'na': 'nau', | ||
| 'nv': 'nav', 'nr': 'nbl', 'nd': 'nde', 'ng': 'ndo', 'ne': 'nep', | ||
| 'nn': 'nno', 'nb': 'nob', 'no': 'nor', 'ny': 'nya', 'oc': 'oci', | ||
| 'oj': 'oji', 'or': 'ori', 'om': 'orm', 'os': 'oss', 'pa': 'pan', | ||
| 'fa': 'fas', 'pi': 'pli', 'pl': 'pol', 'pt': 'por', 'ps': 'pus', | ||
| 'qu': 'que', 'rm': 'roh', 'ro': 'ron', 'rn': 'run', 'ru': 'rus', | ||
| 'sg': 'sag', 'sa': 'san', 'si': 'sin', 'sk': 'slk', 'sl': 'slv', | ||
| 'se': 'sme', 'sm': 'smo', 'sn': 'sna', 'sd': 'snd', 'so': 'som', | ||
| 'st': 'sot', 'es': 'spa', 'sc': 'srd', 'sr': 'srp', 'ss': 'ssw', | ||
| 'su': 'sun', 'sw': 'swa', 'sv': 'swe', 'ty': 'tah', 'ta': 'tam', | ||
| 'tt': 'tat', 'te': 'tel', 'tg': 'tgk', 'tl': 'tgl', 'th': 'tha', | ||
| 'bo': 'bod', 'ti': 'tir', 'to': 'ton', 'tn': 'tsn', 'ts': 'tso', | ||
| 'tk': 'tuk', 'tr': 'tur', 'tw': 'twi', 'ug': 'uig', 'uk': 'ukr', | ||
| 'ur': 'urd', 'uz': 'uzb', 've': 'ven', 'vi': 'vie', 'vo': 'vol', | ||
| 'cy': 'cym', 'wa': 'wln', 'wo': 'wol', 'xh': 'xho', 'yi': 'yid', | ||
| 'yo': 'yor', 'za': 'zha', 'zu': 'zul', | ||
| } | ||
|
|
||
| const iso639_2to1 = Object.fromEntries( | ||
| Object.entries(iso639_1to2).map(([k, v]) => [v, k]) | ||
| ); | ||
|
|
||
| const maps = { | ||
| 2: iso639_1to2, | ||
| 3: iso639_2to1, | ||
| } | ||
|
|
||
| export const convertLanguageCode = (code) => { | ||
| return maps[code.length]?.[code.toLowerCase()] || null; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.