|  | @@ -40,9 +40,7 @@ export function createThumbnail(image: string, thumbnail: string) {
 | 
	
		
			
				|  |  |      .toFile(thumbnail)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -export function videoScreenshot(video: string, path: [string, string]) {
 | 
	
		
			
				|  |  | -  const filePath = path.join('/')
 | 
	
		
			
				|  |  | -  const thumbnail = `${filePath}.thmb`
 | 
	
		
			
				|  |  | +export function videoScreenshot(video: string, path: string) {
 | 
	
		
			
				|  |  |    return new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  |      // ffmpeg(video)
 | 
	
		
			
				|  |  |      //   .screenshot({ folder, filename: filename, ...screenshotOptions })
 | 
	
	
		
			
				|  | @@ -52,16 +50,15 @@ export function videoScreenshot(video: string, path: [string, string]) {
 | 
	
		
			
				|  |  |      //   })
 | 
	
		
			
				|  |  |      //   .on('error', (error) => reject(error))
 | 
	
		
			
				|  |  |      ffmpeg(video)
 | 
	
		
			
				|  |  | +      .inputOption('-itsscale', '0.15')
 | 
	
		
			
				|  |  |        .outputOption(
 | 
	
		
			
				|  |  |          '-vf',
 | 
	
		
			
				|  |  | -        'fps=10,scale=200:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse',
 | 
	
		
			
				|  |  | +        'fps=5,scale=200:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse',
 | 
	
		
			
				|  |  |          '-loop',
 | 
	
		
			
				|  |  | -        '0',
 | 
	
		
			
				|  |  | -        '-t',
 | 
	
		
			
				|  |  | -        '3'
 | 
	
		
			
				|  |  | +        '-1'
 | 
	
		
			
				|  |  |        )
 | 
	
		
			
				|  |  | -      .save(thumbnail)
 | 
	
		
			
				|  |  | -      .on('end', () => resolve(thumbnail))
 | 
	
		
			
				|  |  | +      .save(path)
 | 
	
		
			
				|  |  | +      .on('end', () => resolve(path))
 | 
	
		
			
				|  |  |        .on('error', (error) => reject(error))
 | 
	
		
			
				|  |  |    })
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -95,18 +92,17 @@ export function mediumMetadata(medium: string): {} {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export async function processImage(stream: any, path: [string, string]) {
 | 
	
		
			
				|  |  |    const filePath = path.join('/')
 | 
	
		
			
				|  |  | -  const thumbnail = `${filePath}.thmb`
 | 
	
		
			
				|  |  | +  const thumbnail = `${filePath}.jpg`
 | 
	
		
			
				|  |  |    const metadata = await imageResizeConvertJpg(stream, filePath)
 | 
	
		
			
				|  |  |    await createThumbnail(filePath, thumbnail)
 | 
	
		
			
				|  |  |    return { thumbnail, ...metadata }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export async function processVideo(stream: any, path: [string, string]) {
 | 
	
		
			
				|  |  | -  const [folder] = path
 | 
	
		
			
				|  |  |    const filePath = path.join('/')
 | 
	
		
			
				|  |  | -  const thumbnail = `${filePath}.thmb`
 | 
	
		
			
				|  |  | +  const thumbnail = `${filePath}.gif`
 | 
	
		
			
				|  |  |    await saveStreamToFile(stream, path)
 | 
	
		
			
				|  |  | -  await videoScreenshot(filePath, [folder, thumbnail])
 | 
	
		
			
				|  |  | +  await videoScreenshot(filePath, thumbnail)
 | 
	
		
			
				|  |  |    const metadata = await mediumMetadata(filePath)
 | 
	
		
			
				|  |  |    return { thumbnail, ...metadata }
 | 
	
		
			
				|  |  |  }
 |