diff --git a/server/src/repositories/media.repository.ts b/server/src/repositories/media.repository.ts index 483bd3fd90..eb43b4335b 100644 --- a/server/src/repositories/media.repository.ts +++ b/server/src/repositories/media.repository.ts @@ -43,14 +43,18 @@ export class MediaRepository { async extract(input: string, output: string): Promise { try { - await exiftool.extractJpgFromRaw(input, output); - } catch (error: any) { - this.logger.debug('Could not extract JPEG from image, trying preview', error.message); + await exiftool.extractBinaryTag('JpgFromRaw2', input, output); + } catch { try { - await exiftool.extractPreview(input, output); + await exiftool.extractJpgFromRaw(input, output); } catch (error: any) { - this.logger.debug('Could not extract preview from image', error.message); - return false; + this.logger.debug('Could not extract JPEG from image, trying preview', error.message); + try { + await exiftool.extractPreview(input, output); + } catch (error: any) { + this.logger.debug('Could not extract preview from image', error.message); + return false; + } } }