diff --git a/src/destreamer.ts b/src/destreamer.ts index f98199a..f30a805 100644 --- a/src/destreamer.ts +++ b/src/destreamer.ts @@ -6,10 +6,10 @@ import { ERROR_CODE } from './Errors'; import { setProcessEvents } from './Events'; import { logger } from './Logger'; import { getPuppeteerChromiumPath } from './PuppeteerHelper'; -// import { drawThumbnail } from './Thumbnail'; -import { TokenCache/* , refreshSession */} from './TokenCache'; +import { drawThumbnail } from './Thumbnail'; +import { TokenCache} from './TokenCache'; import { Video, Session } from './Types'; -import { checkRequirements, /* ffmpegTimemarkToChunk, */parseInputFile, parseCLIinput, getUrlsFromPlaylist} from './Utils'; +import { checkRequirements, parseInputFile, parseCLIinput, getUrlsFromPlaylist} from './Utils'; import { getVideosInfo, createUniquePaths } from './VideoUtils'; import { exec, execSync } from 'child_process'; @@ -20,16 +20,15 @@ import path from 'path'; import tmp from 'tmp'; -const m3u8Parser: any = require('m3u8-parser'); // TODO: can we create an export or something for this? +// TODO: can we create an export or something for this? +const m3u8Parser: any = require('m3u8-parser'); const tokenCache: TokenCache = new TokenCache(); export const chromeCacheFolder = '.chrome_data'; tmp.setGracefulCleanup(); -// const { FFmpegCommand, FFmpegInput, FFmpegOutput } = require('@tedconf/fessonia')(); - async function init(): Promise { - setProcessEvents(); // must be first! + setProcessEvents(); // must be first! logger.level = argv.debug ? 'debug' : (argv.verbose ? 'verbose' : 'info'); @@ -225,6 +224,10 @@ async function downloadVideo(videoGUIDs: Array, const videoDecrypter = await getDecrypter(videoPlaylistUrl, session); const audioDecrypter = await getDecrypter(videoPlaylistUrl, session); + if (!argv.noExperiments) { + await drawThumbnail(video.posterImageUrl, session); + } + // video download const videoSegmentsDir = tmp.dirSync({ prefix: 'video', @@ -313,152 +316,6 @@ async function downloadVideo(videoGUIDs: Array, return; } -/* -async function downloadVideo(videoGUIDs: Array, outputDirectories: Array, session: Session): Promise { - - logger.info('Fetching videos info... \n'); - const videos: Array