mirror of https://github.com/VERT-sh/VERT.git
fix: opus sample rate fallback
opus doesn't support 44.1khz if detected/default sample rate is 44.1khz, uses 48kz instead
This commit is contained in:
parent
947b787dc4
commit
e0e4a0001e
|
|
@ -398,14 +398,23 @@ export class FFmpegConverter extends Converter {
|
|||
// detect sample rate of original file and use
|
||||
if (isLosslessToLossy) {
|
||||
// use safe default
|
||||
sampleRateArgs = ["-ar", "44100"];
|
||||
const defaultRate = to === ".opus" ? "48000" : "44100";
|
||||
log(
|
||||
["converters", this.name],
|
||||
`converting from lossless to lossy, using default sample rate: 44100Hz`,
|
||||
`converting from lossless to lossy, using default sample rate: ${defaultRate}Hz`,
|
||||
);
|
||||
sampleRateArgs = ["-ar", defaultRate];
|
||||
} else {
|
||||
const inputSampleRate =
|
||||
await this.detectAudioSampleRate(ffmpeg);
|
||||
let inputSampleRate = await this.detectAudioSampleRate(ffmpeg);
|
||||
if (to === ".opus" && inputSampleRate === 44100) {
|
||||
// special case: opus does not support 44100Hz which is more common - adjust to 48000Hz
|
||||
log(
|
||||
["converters", this.name],
|
||||
"conversion to opus with 44100Hz sample rate detected, adjusting to 48000Hz",
|
||||
);
|
||||
inputSampleRate = 48000;
|
||||
}
|
||||
|
||||
sampleRateArgs = inputSampleRate
|
||||
? ["-ar", inputSampleRate.toString()]
|
||||
: [];
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@
|
|||
} from "$lib/store/index.svelte";
|
||||
import "$lib/css/app.scss";
|
||||
import { browser } from "$app/environment";
|
||||
import { page } from "$app/state";
|
||||
import { initStores as initAnimStores } from "$lib/animation/index.js";
|
||||
import { locales, localizeHref } from "$lib/paraglide/runtime";
|
||||
import { VertdInstance } from "$lib/sections/settings/vertdSettings.svelte.js";
|
||||
|
||||
let { children, data } = $props();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts">
|
||||
import { error, log } from "$lib/logger";
|
||||
import { error } from "$lib/logger";
|
||||
import * as About from "$lib/sections/about";
|
||||
import { InfoIcon } from "lucide-svelte";
|
||||
import { onMount } from "svelte";
|
||||
|
|
|
|||
Loading…
Reference in New Issue