forked from Cutlery/immich
* Implementing video upload features * setup image resize processor * Add video thumbnail with duration and icon * Fixed issue with video upload timeout and upper case file type on ios * Added video player page * Added video player page * Fixing video player not play on ios * Added partial file streaming for ios/android video request * Added nginx as proxy server for better file serving * update nginx and docker-compose file * Video player working correctly * Video player working correctly * Split duration to the second
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { BullModule } from '@nestjs/bull';
|
|
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { join } from 'path';
|
|
import { AssetModule } from '../../api-v1/asset/asset.module';
|
|
import { AssetService } from '../../api-v1/asset/asset.service';
|
|
import { AssetEntity } from '../../api-v1/asset/entities/asset.entity';
|
|
import { ImageOptimizeProcessor } from './image-optimize.processor';
|
|
import { AssetOptimizeService } from './image-optimize.service';
|
|
import { MachineLearningProcessor } from './machine-learning.processor';
|
|
|
|
@Module({
|
|
imports: [
|
|
BullModule.registerQueue({
|
|
name: 'optimize',
|
|
defaultJobOptions: {
|
|
attempts: 3,
|
|
removeOnComplete: true,
|
|
removeOnFail: false,
|
|
},
|
|
}),
|
|
BullModule.registerQueue({
|
|
name: 'machine-learning',
|
|
defaultJobOptions: {
|
|
attempts: 3,
|
|
removeOnComplete: true,
|
|
removeOnFail: false,
|
|
},
|
|
}),
|
|
|
|
TypeOrmModule.forFeature([AssetEntity]),
|
|
],
|
|
providers: [AssetOptimizeService, ImageOptimizeProcessor, MachineLearningProcessor],
|
|
exports: [AssetOptimizeService],
|
|
})
|
|
export class ImageOptimizeModule {}
|