Correctly detect audio copy

This commit is contained in:
Chocobozzz
2026-07-10 15:52:02 +02:00
parent e39c877991
commit 86bee302f9
2 changed files with 5 additions and 5 deletions
@@ -3,7 +3,7 @@ import {
buildStreamSuffix, buildStreamSuffix,
ffprobePromise, ffprobePromise,
getAudioStream, getAudioStream,
getMaxAudioKBitrate, getCopyInfoOrMaxAudioKBitrate,
getVideoStream, getVideoStream,
getVideoStreamBitrate, getVideoStreamBitrate,
getVideoStreamDimensionsInfo, getVideoStreamDimensionsInfo,
@@ -53,7 +53,7 @@ const defaultAACOptionsBuilder: EncoderOptionsBuilder = async ({ input, streamNu
const audioCodecName = parsedAudio.audioStream['codec_name'] const audioCodecName = parsedAudio.audioStream['codec_name']
const bitrate = getMaxAudioKBitrate(audioCodecName, parsedAudio.bitrate) const bitrate = getCopyInfoOrMaxAudioKBitrate(audioCodecName, parsedAudio.bitrate)
// Force stereo as it causes some issues with HLS playback in Chrome // Force stereo as it causes some issues with HLS playback in Chrome
const base = [ '-channel_layout', 'stereo' ] const base = [ '-channel_layout', 'stereo' ]
@@ -117,8 +117,8 @@ export async function canDoQuickAudioTranscode (path: string, probe?: FfprobeDat
const audioBitrate = parsedAudio.bitrate const audioBitrate = parsedAudio.bitrate
if (!audioBitrate) return false if (!audioBitrate) return false
const maxAudioBitrate = getMaxAudioKBitrate('aac', audioBitrate) * 1000 const canCopy = getCopyInfoOrMaxAudioKBitrate('aac', audioBitrate) === -1
if (maxAudioBitrate !== -1 && audioBitrate > maxAudioBitrate) return false if (!canCopy) return false
const channelLayout = parsedAudio.audioStream['channel_layout'] const channelLayout = parsedAudio.audioStream['channel_layout']
// Causes playback issues with Chrome // Causes playback issues with Chrome
+1 -1
View File
@@ -95,7 +95,7 @@ export async function getAudioStream (videoPath: string, existingProbe?: Ffprobe
return { absolutePath: data.format.filename } return { absolutePath: data.format.filename }
} }
export function getMaxAudioKBitrate (type: string, bitrate: number) { export function getCopyInfoOrMaxAudioKBitrate (type: string, bitrate: number) {
const maxKBitrate = 384 const maxKBitrate = 384
// If we did not manage to get the bitrate, use an average value // If we did not manage to get the bitrate, use an average value