Spaces:
Sleeping
Sleeping
File size: 903 Bytes
eb8e9a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
const express = require('express')
const multer = require('multer')
const ffmpeg = require('fluent-ffmpeg')
const fs = require('fs')
const path = require('path')
const archiver = require('archiver')
const app = express()
const upload = multer({ dest: '/tmp' })
app.post('/upload', upload.single('video'), (req, res) => {
const video = req.file.path
const out = `/tmp/f_${Date.now()}`
fs.mkdirSync(out)
ffmpeg(video)
.output(`${out}/frame_%d.png`)
.on('end', () => {
const zip = `${out}.zip`
const stream = fs.createWriteStream(zip)
const archive = archiver('zip')
stream.on('close', () => {
fs.rmSync(video)
fs.rmSync(out, { recursive: true, force: true })
res.download(zip, () => fs.unlinkSync(zip))
})
archive.pipe(stream)
archive.directory(out, false)
archive.finalize()
})
.run()
})
app.listen(7860) |