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
|
// detect sample rate of original file and use
|
||||||
if (isLosslessToLossy) {
|
if (isLosslessToLossy) {
|
||||||
// use safe default
|
// use safe default
|
||||||
sampleRateArgs = ["-ar", "44100"];
|
const defaultRate = to === ".opus" ? "48000" : "44100";
|
||||||
log(
|
log(
|
||||||
["converters", this.name],
|
["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 {
|
} else {
|
||||||
const inputSampleRate =
|
let inputSampleRate = await this.detectAudioSampleRate(ffmpeg);
|
||||||
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
|
sampleRateArgs = inputSampleRate
|
||||||
? ["-ar", inputSampleRate.toString()]
|
? ["-ar", inputSampleRate.toString()]
|
||||||
: [];
|
: [];
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,7 @@
|
||||||
} from "$lib/store/index.svelte";
|
} from "$lib/store/index.svelte";
|
||||||
import "$lib/css/app.scss";
|
import "$lib/css/app.scss";
|
||||||
import { browser } from "$app/environment";
|
import { browser } from "$app/environment";
|
||||||
import { page } from "$app/state";
|
|
||||||
import { initStores as initAnimStores } from "$lib/animation/index.js";
|
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";
|
import { VertdInstance } from "$lib/sections/settings/vertdSettings.svelte.js";
|
||||||
|
|
||||||
let { children, data } = $props();
|
let { children, data } = $props();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { error, log } from "$lib/logger";
|
import { error } from "$lib/logger";
|
||||||
import * as About from "$lib/sections/about";
|
import * as About from "$lib/sections/about";
|
||||||
import { InfoIcon } from "lucide-svelte";
|
import { InfoIcon } from "lucide-svelte";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue