diff options
author | Rigel Kent <sendmemail@rigelk.eu> | 2021-01-15 15:56:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-15 15:56:56 +0100 |
commit | 454c20fa7cdb05eba7f1be3c83389b54807af0b3 (patch) | |
tree | e9b364da69eaf88f0470414c506c3b5631984c60 /server/controllers/api/videos | |
parent | d43c6b1ffc5e6c895f9e9f9de6625f17a9755c20 (diff) | |
download | PeerTube-454c20fa7cdb05eba7f1be3c83389b54807af0b3.tar.gz PeerTube-454c20fa7cdb05eba7f1be3c83389b54807af0b3.tar.zst PeerTube-454c20fa7cdb05eba7f1be3c83389b54807af0b3.zip |
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
Diffstat (limited to 'server/controllers/api/videos')
-rw-r--r-- | server/controllers/api/videos/import.ts | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts index 82e084c54..9702e219a 100644 --- a/server/controllers/api/videos/import.ts +++ b/server/controllers/api/videos/import.ts | |||
@@ -146,9 +146,10 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response) | |||
146 | } catch (err) { | 146 | } catch (err) { |
147 | logger.info('Cannot fetch information from import for URL %s.', targetUrl, { err }) | 147 | logger.info('Cannot fetch information from import for URL %s.', targetUrl, { err }) |
148 | 148 | ||
149 | return res.status(HttpStatusCode.BAD_REQUEST_400).json({ | 149 | return res.status(HttpStatusCode.BAD_REQUEST_400) |
150 | error: 'Cannot fetch remote information of this URL.' | 150 | .json({ |
151 | }).end() | 151 | error: 'Cannot fetch remote information of this URL.' |
152 | }) | ||
152 | } | 153 | } |
153 | 154 | ||
154 | const video = buildVideo(res.locals.videoChannel.id, body, youtubeDLInfo) | 155 | const video = buildVideo(res.locals.videoChannel.id, body, youtubeDLInfo) |
@@ -219,9 +220,8 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response) | |||
219 | videoImportId: videoImport.id, | 220 | videoImportId: videoImport.id, |
220 | generateThumbnail: !thumbnailModel, | 221 | generateThumbnail: !thumbnailModel, |
221 | generatePreview: !previewModel, | 222 | generatePreview: !previewModel, |
222 | fileExt: youtubeDLInfo.fileExt | 223 | fileExt: `.${youtubeDLInfo.ext || 'mp4'}`, |
223 | ? `.${youtubeDLInfo.fileExt}` | 224 | mergeExt: youtubeDLInfo.mergeExt ? `.${youtubeDLInfo.mergeExt}` : '' |
224 | : '.mp4' | ||
225 | } | 225 | } |
226 | await JobQueue.Instance.createJobWithPromise({ type: 'video-import', payload }) | 226 | await JobQueue.Instance.createJobWithPromise({ type: 'video-import', payload }) |
227 | 227 | ||