Tag: mjpeg

Nodejs请求代理stream(mjpeg)连接永远不会结束

(不必要的背景)我有一个nodejs服务器与expressjs框架,代理stream媒体摄像头饲料。 我需要这个的原因是因为复杂的CORS问题,mjpgstream必须来自这个服务器。 //proxy from webcam server to avoid CORS complaining app.get('/stream1',function(req,res){ var url="http://camera.nton.lviv.ua/mjpg/video.mjpg" request(url).pipe(res); }); 问题:这个问题很简单。 request(url).pipe(res)永远不会closures,因为源文件是从未结束的mjpeg。 当客户端(浏览器;目的地)不再可用时,我需要find强制closures此pipe道的方法,如closures窗口。

Node.js:内存使用量不断增加

我们正在编写一个脚本,在我们的服务器上读取大量的JPG文件(无限的,因为我们有另一个进程,不断写入JPG文件到相同的目录),并以固定的时间间隔(MJPEGstream)发送到用户的浏览器下面代码中的variables“frameDelay”)。 这与IP摄像机的function类似。 我们发现这个脚本的内存使用量不断增加,并最终被系统(Ubuntu)杀死; 我们多次检查了这个看似简单的脚本。 因此,我发布了下面的代码。 任何意见/build议,非常感谢! app.get('/stream', function (req, res) { res.writeHead(200, { 'Content-Type':'multipart/x-mixed-replace;boundary="' + boundary + '"', 'Transfer-Encoding':'none', 'Connection':'keep-alive', 'Expires':'Fri, 01 Jan 1990 00:00:00 GMT', 'Cache-Control':'no-cache, no-store, max-age=0, must-revalidate', 'Pragma':'no-cache' }); res.write(CRLF + "–" + boundary + CRLF); setInterval(function () { if(fileList.length<=1){ fileList = fs.readdirSync(location).sort(); }else{ var fname = fileList.shift(); if(fs.existsSync(location+fname)){ var data = […]

通过Node.js代理pipe理MJPEGstream

在linux上使用Motion,每个networking摄像头都在自己的端口上作为一个stream提供服务。 我现在想要使用Node.js提供所有在同一端口上的stream。 编辑:现在这个解决scheme工作。 我需要从原始的mjpegstream(这是我的Motionconfiguration中的“BoundaryString”)获取边界string app.get('/motion', function(req, res) { var boundary = "BoundaryString"; var options = { // host to forward to host: '192.168.1.2', // port to forward to port: 8302, // path to forward to path: '/', // request method method: 'GET', // headers to send headers: req.headers }; var creq = http.request(options, function(cres) { […]