diff --git a/index.js b/index.js index 6040aa9..fa5bb6e 100644 --- a/index.js +++ b/index.js @@ -396,6 +396,7 @@ const parseMPDStream = async (mpdUrl) => { }); for (let i = 0; i < parsedManifest.playlists.length; i++) { obj.videoTracks.push({ + id: parsedManifest.playlists?.[i]?.attributes?.NAME, name: `${parsedManifest.playlists?.[i]?.attributes?.RESOLUTION?.width || 'N/C'}x${parsedManifest.playlists?.[i]?.attributes?.RESOLUTION?.height || 'N/C'}`, codec: parsedManifest.playlists?.[i]?.attributes?.CODECS, bandwidth: parsedManifest.playlists?.[i]?.attributes?.BANDWIDTH, @@ -557,7 +558,7 @@ videoQueue.process((job) => { const subPart = wantedSubtitles.length > 0 ? `--select-subtitle lang=\"${wantedSubtitles.map(elem => elem.language).join('|')}\"${bwSubs}` : '--drop-subtitle lang=\".*\"'; const audioPart = wantedAudioTracks.length > 0 ? `--select-audio lang=\"${wantedAudioTracks.map(elem => elem.language).join('|')}\":codecs=\"${[...new Set(wantedAudioTracks.map(elem => elem.attributes.CODECS))].join('|')}\":for=all${bwAudio}` : '--drop-audio lang=\".*\"'; - const { executeCommand, emitter } = runProgressCommand(`${downloaderPath} \"${mpdUrl}\" --save-dir ${workdir} --save-name ${mp4Filename}_encrypted --select-video res=\"${wantedResolution.resolution.width}*\" ${audioPart} ${subPart}`, true); + const { executeCommand, emitter } = runProgressCommand(`${downloaderPath} \"${mpdUrl}\" --save-dir ${workdir} --save-name ${mp4Filename}_encrypted --select-video id=\"${wantedResolution.id}\" ${audioPart} ${subPart}`, true); emitter.on('percentage', (percentage) => { if (percentage < previousPercentage) {