-
Notifications
You must be signed in to change notification settings - Fork 2
/
server.js
48 lines (35 loc) · 1.2 KB
/
server.js
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const express = require("express");
const upload = require("express-fileupload");
const ffmpeg = require("fluent-ffmpeg");
const port = process.env.PORT || 5500;
const host = "0.0.0.0";
const app = express();
// Middleware config for upload
app.use(upload({
useTempFiles : true,
tempFileDir : './filestore/'
}));
// // Middleware config for ffmpeg
// ffmpeg.setFfmpegPath("C:/Users/ac310/Desktop/ffmpeg-20200420-cacdac8-win64-static/bin/ffmpeg.exe");
ffmpeg.setFfmpegPath("/app/vendor/ffmpeg/bin");
//Landing Route {TYPE - GET}
app.get("/",(req,res)=>{
res.sendFile("./public/index.html",{root:__dirname})
})
// UPLOAD AND CONVERT Route {TYPE - POST}
app.post("/mp4tomp3",(req,res)=>{
res.contentType("video/mp4");
res.attachment("output.mp3");
//UPLOADED FILE
req.files.mp4.mv("./filestore/" + req.files.mp4.name, (err)=>{
if(err)console.log(err);
console.log("File uploaded");
})
//CONVERSION
ffmpeg("./filestore/" + req.files.mp4.name)
.toFormat("mp3")
.on("end",()=>console.log("Conversion Done !"))
.on("error",(err)=>console.log(err))
.pipe(res,{end:true})
})
app.listen(port,host,()=>console.log(`Server is running at port ${port}`))