feat(server): enhanced thumbnails generation code (#2147)

* Add size parameter to extractVideoThumbnail

* Ensure minimum dimension of webp thumbnail
This commit is contained in:
Sergey Kondrikov
2023-04-04 04:18:27 +03:00
committed by GitHub
parent fc585bffcc
commit 7e526f87b4
4 changed files with 19 additions and 6 deletions
@@ -44,9 +44,13 @@ export class MediaService {
this.storageRepository.mkdirSync(resizePath);
const jpegThumbnailPath = join(resizePath, `${asset.id}.jpeg`);
const thumbnailDimension = 1440;
if (asset.type == AssetType.IMAGE) {
try {
await this.mediaRepository.resize(asset.originalPath, jpegThumbnailPath, { size: 1440, format: 'jpeg' });
await this.mediaRepository.resize(asset.originalPath, jpegThumbnailPath, {
size: thumbnailDimension,
format: 'jpeg',
});
} catch (error) {
this.logger.warn(
`Failed to generate jpeg thumbnail using sharp, trying with exiftool-vendored (asset=${asset.id})`,
@@ -57,7 +61,7 @@ export class MediaService {
if (asset.type == AssetType.VIDEO) {
this.logger.log('Start Generating Video Thumbnail');
await this.mediaRepository.extractVideoThumbnail(asset.originalPath, jpegThumbnailPath);
await this.mediaRepository.extractVideoThumbnail(asset.originalPath, jpegThumbnailPath, thumbnailDimension);
this.logger.log(`Generating Video Thumbnail Success ${asset.id}`);
}