mirror of https://github.com/VERT-sh/VERT.git
parent
1bf93d9a22
commit
1aac50a649
|
|
@ -23,6 +23,33 @@ import { Converter, FormatInfo, type WorkerStatus } from "./converter.svelte";
|
||||||
import { ToastManager } from "$lib/util/toast.svelte";
|
import { ToastManager } from "$lib/util/toast.svelte";
|
||||||
import { error, log } from "$lib/util/logger";
|
import { error, log } from "$lib/util/logger";
|
||||||
|
|
||||||
|
// codec compatibility object, based on docs
|
||||||
|
// https://mediabunny.dev/guide/supported-formats-and-codecs#compatibility-table
|
||||||
|
const codecCompatibility = {
|
||||||
|
video: {
|
||||||
|
mp4: ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
m4v: ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
f4v: ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
'3gp': ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
'3g2': ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
mkv: ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
webm: ['vp8', 'vp9', 'av1'],
|
||||||
|
mov: ['avc', 'hevc', 'vp8', 'vp9', 'av1'],
|
||||||
|
ts: ['avc', 'hevc'],
|
||||||
|
},
|
||||||
|
audio: {
|
||||||
|
mp4: ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f64'],
|
||||||
|
m4v: ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f64'],
|
||||||
|
f4v: ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f64'],
|
||||||
|
'3gp': ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f64'],
|
||||||
|
'3g2': ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f64'],
|
||||||
|
mkv: ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-u8', 'pcm-s16', 'pcm-s24', 'pcm-s32', 'pcm-f32', 'pcm-f64'],
|
||||||
|
webm: ['opus', 'vorbis'],
|
||||||
|
mov: ['aac', 'opus', 'mp3', 'vorbis', 'flac', 'ac3', 'eac3', 'pcm-u8', 'pcm-s8', 'pcm-s16', 'pcm-s16be', 'pcm-s24', 'pcm-s24be', 'pcm-s32', 'pcm-s32be', 'pcm-f32', 'pcm-f32be', 'pcm-f64', 'ulaw', 'alaw'],
|
||||||
|
ts: ['aac', 'mp3', 'ac3', 'eac3'],
|
||||||
|
},
|
||||||
|
} as const;
|
||||||
|
|
||||||
export class MediabunnyConverter extends Converter {
|
export class MediabunnyConverter extends Converter {
|
||||||
public name = "mediabunny";
|
public name = "mediabunny";
|
||||||
public status: WorkerStatus = $state("ready");
|
public status: WorkerStatus = $state("ready");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue