fix: use consistent filenames for audio extraction

This commit is contained in:
Esa Kataja
2026-04-04 19:00:30 +03:00
parent bc58017414
commit 4eeacfe551
+3 -3
View File
@@ -83,19 +83,19 @@ func (e *Encoder) Transcode(input string, job *types.Job, metadata *types.Metada
func (e *Encoder) extractAudio(input, dir string) ([]string, error) { func (e *Encoder) extractAudio(input, dir string) ([]string, error) {
cmd := exec.Command(e.ffmpegPath, "-i", input, cmd := exec.Command(e.ffmpegPath, "-i", input,
"-vn", "-c:a", "pcm_s16le", "-ar", "48000", "-vn", "-c:a", "pcm_s16le", "-ar", "48000",
"-f", "wav", filepath.Join(dir, "audio_%d.wav")) "-f", "wav", filepath.Join(dir, "audio.wav"))
if out, err := cmd.CombinedOutput(); err != nil { if out, err := cmd.CombinedOutput(); err != nil {
return nil, fmt.Errorf("ffmpeg extract: %s %w", out, err) return nil, fmt.Errorf("ffmpeg extract: %s %w", out, err)
} }
matches, _ := filepath.Glob(filepath.Join(dir, "audio_*.wav")) matches, _ := filepath.Glob(filepath.Join(dir, "audio.wav"))
return matches, nil return matches, nil
} }
func (e *Encoder) encodeOpus(wavs []string, dir string) ([]string, error) { func (e *Encoder) encodeOpus(wavs []string, dir string) ([]string, error) {
var opusFiles []string var opusFiles []string
for _, wav := range wavs { for _, wav := range wavs {
out := strings.TrimSuffix(wav, ".wav") + ".opus" out := strings.Replace(wav, ".wav", ".opus", 1)
cmd := exec.Command(e.opusencPath, "--bitrate", "128k", wav, out) cmd := exec.Command(e.opusencPath, "--bitrate", "128k", wav, out)
if out, err := cmd.CombinedOutput(); err != nil { if out, err := cmd.CombinedOutput(); err != nil {
return nil, fmt.Errorf("opusenc: %s %w", out, err) return nil, fmt.Errorf("opusenc: %s %w", out, err)