mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-04-06 22:41:28 +03:00
added functions to get info on a downloaded (or downloading) file
bug fixed where videos with quotations would not properly stream
This commit is contained in:
@@ -194,6 +194,40 @@ function deleteVideoFile(name) {
|
|||||||
fs.unlinkSync(jsonPath);
|
fs.unlinkSync(jsonPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAudioInfos(fileNames) {
|
||||||
|
let result = [];
|
||||||
|
for (let i = 0; i < fileNames.length; i++) {
|
||||||
|
let fileName = fileNames[i];
|
||||||
|
let fileLocation = audioFolderPath+fileName+'.mp3.info.json';
|
||||||
|
if (fs.existsSync(fileLocation)) {
|
||||||
|
let data = fs.readFileSync(fileLocation);
|
||||||
|
try {
|
||||||
|
result.push(JSON.parse(data));
|
||||||
|
} catch {
|
||||||
|
console.log(`ERROR: Could not find info for file ${fileName}.mp3`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getVideoInfos(fileNames) {
|
||||||
|
let result = [];
|
||||||
|
for (let i = 0; i < fileNames.length; i++) {
|
||||||
|
let fileName = fileNames[i];
|
||||||
|
let fileLocation = videoFolderPath+fileName+'.info.json';
|
||||||
|
if (fs.existsSync(fileLocation)) {
|
||||||
|
let data = fs.readFileSync(fileLocation);
|
||||||
|
try {
|
||||||
|
result.push(JSON.parse(data));
|
||||||
|
} catch {
|
||||||
|
console.log(`ERROR: Could not find info for file ${fileName}.mp4`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
app.post('/tomp3', function(req, res) {
|
app.post('/tomp3', function(req, res) {
|
||||||
var url = req.body.url;
|
var url = req.body.url;
|
||||||
var date = Date.now();
|
var date = Date.now();
|
||||||
@@ -490,7 +524,8 @@ app.get('/video/:id', function(req , res){
|
|||||||
|
|
||||||
app.get('/audio/:id', function(req , res){
|
app.get('/audio/:id', function(req , res){
|
||||||
var head;
|
var head;
|
||||||
const path = "audio/" + req.params.id;
|
let path = "audio/" + req.params.id;
|
||||||
|
path = path.replace(/\"/g, '\'');
|
||||||
const stat = fs.statSync(path)
|
const stat = fs.statSync(path)
|
||||||
const fileSize = stat.size
|
const fileSize = stat.size
|
||||||
const range = req.headers.range
|
const range = req.headers.range
|
||||||
@@ -521,6 +556,22 @@ app.get('/audio/:id', function(req , res){
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
app.post('/getVideoInfos', function(req, res) {
|
||||||
|
let fileNames = req.body.fileNames;
|
||||||
|
let type = req.body.type;
|
||||||
|
let result = null;
|
||||||
|
if (type === 'audio') {
|
||||||
|
result = getAudioInfos(fileNames)
|
||||||
|
} else if (type === 'video') {
|
||||||
|
result = getVideoInfos(fileNames);
|
||||||
|
}
|
||||||
|
res.send({
|
||||||
|
result: result,
|
||||||
|
success: !!result
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (usingEncryption)
|
if (usingEncryption)
|
||||||
|
|||||||
Reference in New Issue
Block a user