From 454c20fa7cdb05eba7f1be3c83389b54807af0b3 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Fri, 15 Jan 2021 15:56:56 +0100 Subject: stricter youtubedl format selectors (#3516) * stricter youtubedl format selectors make sure selectors avoid av1, and otherwise match as closely to the maximum resolution enabled for transcoding * add support for merge formats in youtubedl * avoid vp9.2 in youtubedl to avoid any HDR * move getEnabledResolutions, safer replace of imported extension * add test for youtube-dl selectors --- server/lib/job-queue/handlers/video-import.ts | 6 +++++- server/lib/video-transcoding.ts | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'server/lib') diff --git a/server/lib/job-queue/handlers/video-import.ts b/server/lib/job-queue/handlers/video-import.ts index 5a82a8d2b..db3112418 100644 --- a/server/lib/job-queue/handlers/video-import.ts +++ b/server/lib/job-queue/handlers/video-import.ts @@ -79,7 +79,11 @@ async function processYoutubeDLImport (job: Bull.Job, payload: VideoImportYoutub generatePreview: payload.generatePreview } - return processFile(() => downloadYoutubeDLVideo(videoImport.targetUrl, payload.fileExt, VIDEO_IMPORT_TIMEOUT), videoImport, options) + return processFile( + () => downloadYoutubeDLVideo(videoImport.targetUrl, payload.fileExt, VIDEO_IMPORT_TIMEOUT, payload.mergeExt), + videoImport, + options + ) } async function getVideoImportOrDie (videoImportId: number) { diff --git a/server/lib/video-transcoding.ts b/server/lib/video-transcoding.ts index 078e85acf..a6b79eaea 100644 --- a/server/lib/video-transcoding.ts +++ b/server/lib/video-transcoding.ts @@ -201,6 +201,16 @@ function generateHlsPlaylist (options: { }) } +function getEnabledResolutions (type: 'vod' | 'live') { + const transcoding = type === 'vod' + ? CONFIG.TRANSCODING + : CONFIG.LIVE.TRANSCODING + + return Object.keys(transcoding.RESOLUTIONS) + .filter(key => transcoding.ENABLED && transcoding.RESOLUTIONS[key] === true) + .map(r => parseInt(r, 10)) +} + // --------------------------------------------------------------------------- export { @@ -208,7 +218,8 @@ export { generateHlsPlaylistFromTS, optimizeOriginalVideofile, transcodeNewResolution, - mergeAudioVideofile + mergeAudioVideofile, + getEnabledResolutions } // --------------------------------------------------------------------------- -- cgit v1.2.3