web/util: add support for subtitle track language metadata

This commit is contained in:
wukko 2025-06-20 16:20:32 +06:00
parent 9f7f63783d
commit 993a885a3e
No known key found for this signature in database
GPG Key ID: 3E30B3F26C7B4AA2
2 changed files with 9 additions and 1 deletions

View File

@ -52,7 +52,8 @@ export const CobaltFileMetadataKeys = [
'artist', 'artist',
'album_artist', 'album_artist',
'track', 'track',
'date' 'date',
'sublanguage',
]; ];
export type CobaltFileMetadata = Record< export type CobaltFileMetadata = Record<

View File

@ -18,6 +18,13 @@ export const formatFileSize = (size: number | undefined) => {
export const ffmpegMetadataArgs = (metadata: CobaltFileMetadata) => export const ffmpegMetadataArgs = (metadata: CobaltFileMetadata) =>
Object.entries(metadata).flatMap(([name, value]) => { Object.entries(metadata).flatMap(([name, value]) => {
if (CobaltFileMetadataKeys.includes(name) && typeof value === "string") { if (CobaltFileMetadataKeys.includes(name) && typeof value === "string") {
if (name === "sublanguage") {
return [
'-metadata:s:s:0',
// eslint-disable-next-line no-control-regex
`language=${value.replace(/[\u0000-\u0009]/g, "")}`
]
}
return [ return [
'-metadata', '-metadata',
// eslint-disable-next-line no-control-regex // eslint-disable-next-line no-control-regex