diff options
Diffstat (limited to 'server/helpers/ffmpeg-utils.ts')
-rw-r--r-- | server/helpers/ffmpeg-utils.ts | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index 13bb2e894..af92d1ba9 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts | |||
@@ -173,7 +173,7 @@ function transcode (options: TranscodeOptions) { | |||
173 | }) | 173 | }) |
174 | } | 174 | } |
175 | 175 | ||
176 | async function canDoQuickTranscode (path: string) { | 176 | async function canDoQuickTranscode (path: string): Promise<boolean> { |
177 | // NOTE: This could be optimized by running ffprobe only once (but it runs fast anyway) | 177 | // NOTE: This could be optimized by running ffprobe only once (but it runs fast anyway) |
178 | const videoStream = await getVideoStreamFromFile(path) | 178 | const videoStream = await getVideoStreamFromFile(path) |
179 | const parsedAudio = await audio.get(path) | 179 | const parsedAudio = await audio.get(path) |
@@ -182,22 +182,27 @@ async function canDoQuickTranscode (path: string) { | |||
182 | const resolution = await getVideoFileResolution(path) | 182 | const resolution = await getVideoFileResolution(path) |
183 | 183 | ||
184 | // check video params | 184 | // check video params |
185 | if (videoStream[ 'codec_name' ] !== 'h264') | 185 | if (videoStream[ 'codec_name' ] !== 'h264') { |
186 | return false | 186 | return false |
187 | if (fps < VIDEO_TRANSCODING_FPS.MIN || fps > VIDEO_TRANSCODING_FPS.MAX) | 187 | } |
188 | if (fps < VIDEO_TRANSCODING_FPS.MIN || fps > VIDEO_TRANSCODING_FPS.MAX) { | ||
188 | return false | 189 | return false |
189 | if (bitRate > getMaxBitrate(resolution.videoFileResolution, fps, VIDEO_TRANSCODING_FPS)) | 190 | } |
191 | if (bitRate > getMaxBitrate(resolution.videoFileResolution, fps, VIDEO_TRANSCODING_FPS)) { | ||
190 | return false | 192 | return false |
193 | } | ||
191 | 194 | ||
192 | // check audio params (if audio stream exists) | 195 | // check audio params (if audio stream exists) |
193 | if (parsedAudio.audioStream) { | 196 | if (parsedAudio.audioStream) { |
194 | if (parsedAudio.audioStream[ 'codec_name' ] !== 'aac') | 197 | if (parsedAudio.audioStream[ 'codec_name' ] !== 'aac') { |
195 | return false | 198 | return false |
199 | } | ||
196 | const maxAudioBitrate = audio.bitrate[ 'aac' ](parsedAudio.audioStream[ 'bit_rate' ]) | 200 | const maxAudioBitrate = audio.bitrate[ 'aac' ](parsedAudio.audioStream[ 'bit_rate' ]) |
197 | if (maxAudioBitrate != -1 && parsedAudio.audioStream[ 'bit_rate' ] > maxAudioBitrate) | 201 | if (maxAudioBitrate !== -1 && parsedAudio.audioStream[ 'bit_rate' ] > maxAudioBitrate) { |
198 | return false | 202 | return false |
203 | } | ||
199 | } | 204 | } |
200 | 205 | ||
201 | return true | 206 | return true |
202 | } | 207 | } |
203 | 208 | ||