summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGeorges-Etienne Legendre <legege@legege.com>2013-02-04 13:39:06 -0500
committerGeorges-Etienne Legendre <legege@legege.com>2013-02-04 13:39:06 -0500
commit91736294567db46f2f309f53c42f287622e21591 (patch)
tree0878000735dccb01e2baf67531636acb5dae33d1 /README.md
parentcfe2dbe5bb3bbb87ac7ab29390a30d8f592391f3 (diff)
A module version of this application, with express.js
Diffstat (limited to 'README.md')
-rw-r--r--README.md84
1 files changed, 65 insertions, 19 deletions
diff --git a/README.md b/README.md
index 8bfd2cf..ff44e68 100644
--- a/README.md
+++ b/README.md
@@ -1,41 +1,87 @@
node-mjpeg-proxy
================
-This is a simple implementation of a MJPEG proxy written with node.js.
+A node.js module to proxy MJPEG requests. Supports multiple client consuming a single stream. Fixes an iOS 6 issue with some MJPEG steams.
-## Documentation
+Installation
+------------
+
+From npm:
+
+``` bash
+$ npm install mjpeg-proxy
+```
+
+From source:
+
+``` bash
+$ git clone https://github.com/legege/node-mjpeg-proxy.git
+$ cd node-mjpeg-proxy
+$ npm install
+```
+
+Example
+-------
### Example Usage
- var mpjegproxy = require("./lib/node-mjpeg-proxy");
- mpjegproxy.createProxy("http://192.1.2.3:8080/videofeed");
+``` js
+var MjpegProxy = require('mjpeg-proxy').MjpegProxy;
+var express = require('express');
+var app = express();
+
+app.get('/index1.jpg', new MjpegProxy('http://admin:admin@192.168.1.109/cgi/mjpg/mjpg.cgi').proxyRequest);
+app.listen(8080);
+```
+
+Here, it will create a proxy to the source video feed (`http://admin:admin@192.168.1.109/cgi/mjpg/mjpg.cgi`). You can now access the feed at `http://localhost:8080/index1.jpg`.
-Here, it will create a proxy to the source video feed (http://192.1.2.3:8080/videofeed) with the default options (below). You can now access the feed at http://localhost:5080/ .
+API
+---
-### Proxy
+### MjpegProxy
- Proxy.createProxy(sourceURL, [options]);
+``` js
+var mjpegProxy = new MjpegProxy(mjpegUrl);
+```
-Returns: a `Proxy` instance.
+Returns: a `MjpegProxy` instance for the MJPEG stream at `mjpegUrl` URL.
-Arguments:
+Credits
+-------
-- *sourceURL*
+Original prototype version from:
- The source URL of the MJPEG feed to be proxied.
+ * Phil Rene ([philrene](http://github.com/philrene))
+ * Chris Chua ([chrisirhc](http://github.com/chrisirhc))
-Options:
+License
+-------
-- *port*
+(The MIT License)
- The destination port. Defaults to `5080`.
+Copyright (C) 2012, Georges-Etienne Legendre <legege@legege.com>
-## TODO
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to permit
+persons to whom the Software is furnished to do so, subject to the
+following conditions:
-- Add a resource URL so that it can serve on certain resource URLs rather than require its onw http.Server instance.
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
-## Credits
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
-- Phil Rene ([philrene](http://github.com/philrene))
+A different license may apply to other software included in this package,
+including libftdi and libusb. Please consult their respective license files
+for the terms of their individual licenses.
-- Chris Chua ([chrisirhc](http://github.com/chrisirhc))