diff --git a/Docker/README.md b/Docker/README.md index 29284273..e46c1df8 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -32,6 +32,7 @@ docker run -d --name='Shinobi' -p '8080:8080/tcp' -v "/dev/shm/Shinobi/streams": docker run -d --name='shinobi-tensorflow' -e PLUGIN_HOST='10.1.103.113' -e PLUGIN_PORT='8080' -v "$HOME/Shinobi/docker-plugins/tensorflow":'/config':'rw' shinobisystems/shinobi-tensorflow:latest ``` +More Information about this plugin : - CPU : https://gitlab.com/Shinobi-Systems/docker-plugin-tensorflow.js - GPU (NVIDIA CUDA) : https://gitlab.com/Shinobi-Systems/docker-plugin-tensorflow.js/-/tree/gpu diff --git a/libs/videos.js b/libs/videos.js index 1ff5d64c..ef5da5cb 100644 --- a/libs/videos.js +++ b/libs/videos.js @@ -447,28 +447,28 @@ module.exports = function(s,config,lang){ var ext = filePath.split('.') ext = ext[ext.length - 1] var total = fs.statSync(filePath).size; - // if (req.headers['range']) { - // try{ - // var range = req.headers.range; - // var parts = range.replace(/bytes=/, "").split("-"); - // var partialstart = parts[0]; - // var partialend = parts[1]; - // var start = parseInt(partialstart, 10); - // var end = partialend ? parseInt(partialend, 10) : total-1; - // var chunksize = (end-start)+1; - // var file = fs.createReadStream(filePath, {start: start, end: end}); - // req.headerWrite={ 'Content-Range': 'bytes ' + start + '-' + end + '/' + total, 'Accept-Ranges': 'bytes', 'Content-Length': chunksize, 'Content-Type': 'video/'+ext } - // req.writeCode=206 - // }catch(err){ - // req.headerWrite={ 'Content-Length': total, 'Content-Type': 'video/'+ext}; - // var file = fs.createReadStream(filePath) - // req.writeCode=200 - // } - // } else { + if (req.headers['range']) { + try{ + var range = req.headers.range; + var parts = range.replace(/bytes=/, "").split("-"); + var partialstart = parts[0]; + var partialend = parts[1]; + var start = parseInt(partialstart, 10); + var end = partialend ? parseInt(partialend, 10) : total-1; + var chunksize = (end-start)+1; + var file = fs.createReadStream(filePath, {start: start, end: end}); + req.headerWrite={ 'Content-Range': 'bytes ' + start + '-' + end + '/' + total, 'Accept-Ranges': 'bytes', 'Content-Length': chunksize, 'Content-Type': 'video/'+ext } + req.writeCode=206 + }catch(err){ + req.headerWrite={ 'Content-Length': total, 'Content-Type': 'video/'+ext}; + var file = fs.createReadStream(filePath) + req.writeCode=200 + } + } else { req.headerWrite={ 'Content-Length': total, 'Content-Type': 'video/'+ext}; var file = fs.createReadStream(filePath) req.writeCode=200 - // } + } if(req.query.downloadName){ req.headerWrite['content-disposition']='attachment; filename="'+req.query.downloadName+'"'; }