diff --git a/index.js b/index.js index f967d3a..69331c2 100644 --- a/index.js +++ b/index.js @@ -23,13 +23,13 @@ var uploads = multer({ dest: 'uploads/' }) const characters = "abcdefghijklmnopqrstuvwxyz!@$%^*()[]_-=+ " -process.on('uncaughtException', (err, origin) => { - fs.writeSync( - process.stderr.fd, - `Caught exception: ${err}\n` + - `Exception origin: ${origin}`, - ); -}); +// process.on('uncaughtException', (err, origin) => { +// fs.writeSync( +// process.stderr.fd, +// `Caught exception: ${err}\n` + +// `Exception origin: ${origin}`, +// ); +// }); app.use(bodyParser.urlencoded({ extended: false })) @@ -139,26 +139,32 @@ app.get("/download", async (req, res) => { ffmpegProcess.stdio[1].pipe(res) } else { - var video = ytdl(url, { filter: 'videoandaudio', quality: quality }) + if (format != 'mp4') { + var video = ytdl(url, { filter: 'videoandaudio', quality: quality, highWaterMark: 1 << 25 }) - const ffmpegProcess = cp.spawn(ffmpeg, [ - '-i', `pipe:3`, - '-preset', preset, - '-f', format, - '-loglevel', 'error', - '-' - ], { - stdio: [ - 'pipe', 'pipe', 'pipe', 'pipe', 'pipe', - ], - }) - - video.pipe(ffmpegProcess.stdio[3]) - - res.setHeader('Content-Disposition', `attachment; filename="${filename}.${formats[format] || format}"`); - // res.setHeader('Content-Length', fs.readFileSync(dest).length) - - ffmpegProcess.stdio[1].pipe(res) + const ffmpegProcess = cp.spawn(ffmpeg, [ + '-i', `pipe:3`, + '-preset', preset, + '-f', format, + '-loglevel', 'error', + '-' + ], { + stdio: [ + 'pipe', 'pipe', 'pipe', 'pipe', 'pipe', + ], + }) + + video.pipe(ffmpegProcess.stdio[3]) + + res.setHeader('Content-Disposition', `attachment; filename="${filename}.${formats[format] || format}"`); + // res.setHeader('Content-Length', fs.readFileSync(dest).length) + + ffmpegProcess.stdio[1].pipe(res) + } else { + var video = ytdl(url, { filter: 'videoandaudio', quality: quality, highWaterMark: 1 << 25 }) + res.setHeader('Content-Disposition', `attachment; filename="${filename}.${formats[format] || format}"`); + video.pipe(res) + } } })