diff options
author | Chocobozzz <me@florianbigard.com> | 2020-11-25 09:50:12 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2020-11-25 10:07:51 +0100 |
commit | f619de0e435f7ac3abad2ec772397486358b56e7 (patch) | |
tree | 991040ca204e95a3322e02fdc9867a8f6b69c1e8 /server/helpers/ffmpeg-utils.ts | |
parent | 6b67897e2eab96978daee40aeaf716835856d65d (diff) | |
download | PeerTube-f619de0e435f7ac3abad2ec772397486358b56e7.tar.gz PeerTube-f619de0e435f7ac3abad2ec772397486358b56e7.tar.zst PeerTube-f619de0e435f7ac3abad2ec772397486358b56e7.zip |
Add tests to gif resizer
Diffstat (limited to 'server/helpers/ffmpeg-utils.ts')
-rw-r--r-- | server/helpers/ffmpeg-utils.ts | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index 69defccc4..9755dd67c 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts | |||
@@ -64,35 +64,14 @@ function convertWebPToJPG (path: string, destination: string): Promise<void> { | |||
64 | function processGIF ( | 64 | function processGIF ( |
65 | path: string, | 65 | path: string, |
66 | destination: string, | 66 | destination: string, |
67 | newSize: { width: number, height: number }, | 67 | newSize: { width: number, height: number } |
68 | keepOriginal = false | ||
69 | ): Promise<void> { | 68 | ): Promise<void> { |
70 | return new Promise<void>(async (res, rej) => { | 69 | const command = ffmpeg(path) |
71 | if (path === destination) { | 70 | .fps(20) |
72 | throw new Error('FFmpeg needs an input path different that the output path.') | 71 | .size(`${newSize.width}x${newSize.height}`) |
73 | } | 72 | .output(destination) |
74 | |||
75 | logger.debug('Processing gif %s to %s.', path, destination) | ||
76 | 73 | ||
77 | try { | 74 | return runCommand(command) |
78 | const command = ffmpeg(path) | ||
79 | .fps(20) | ||
80 | .size(`${newSize.width}x${newSize.height}`) | ||
81 | .output(destination) | ||
82 | |||
83 | command.on('error', (err, stdout, stderr) => { | ||
84 | logger.error('Error in ffmpeg gif resizing process.', { stdout, stderr }) | ||
85 | return rej(err) | ||
86 | }) | ||
87 | .on('end', async () => { | ||
88 | if (keepOriginal !== true) await remove(path) | ||
89 | res() | ||
90 | }) | ||
91 | .run() | ||
92 | } catch (err) { | ||
93 | return rej(err) | ||
94 | } | ||
95 | }) | ||
96 | } | 75 | } |
97 | 76 | ||
98 | async function generateImageFromVideoFile (fromPath: string, folder: string, imageName: string, size: { width: number, height: number }) { | 77 | async function generateImageFromVideoFile (fromPath: string, folder: string, imageName: string, size: { width: number, height: number }) { |