Transcoder: Audio: set ffmpeg bitrate flag according to requested quality

This commit is contained in:
Arthur Jamet 2026-03-11 19:30:48 +00:00 committed by Zoe Roux
parent e8539a4ea1
commit 42ba285948

View File

@ -7,10 +7,11 @@ import (
type AudioStream struct {
Stream
index uint32
index uint32
quality AudioQuality
}
func (t *Transcoder) NewAudioStream(file *FileStream, idx uint32) (*AudioStream, error) {
func (t *Transcoder) NewAudioStream(file *FileStream, idx uint32, quality AudioQuality) (*AudioStream, error) {
log.Printf("Creating a audio stream %d for %s", idx, file.Info.Path)
keyframes, err := t.metadataService.GetKeyframes(file.Info, false, idx)
@ -20,12 +21,13 @@ func (t *Transcoder) NewAudioStream(file *FileStream, idx uint32) (*AudioStream,
ret := new(AudioStream)
ret.index = idx
ret.quality = quality
NewStream(file, keyframes, ret, &ret.Stream)
return ret, nil
}
func (as *AudioStream) getOutPath(encoder_id int) string {
return fmt.Sprintf("%s/segment-a%d-%d-%%d.ts", as.file.Out, as.index, encoder_id)
return fmt.Sprintf("%s/segment-a%d-%d-%d-%%d.ts", as.file.Out, as.quality, as.index, encoder_id)
}
func (as *AudioStream) getFlags() Flags {
@ -38,7 +40,6 @@ func (as *AudioStream) getTranscodeArgs(segments string) []string {
"-c:a", "aac",
// TODO: Support 5.1 audio streams.
"-ac", "2",
// TODO: Support multi audio qualities.
"-b:a", "128k",
"-b:a", string(as.quality),
}
}