0.1.5 • Published 11 years ago

hls-buffer v0.1.5

Weekly downloads
23
License
-
Repository
github
Last release
11 years ago

hls-buffer

Preload and buffer http live streams (aka do not lag on crappy networks)

npm install hls-buffer

Usage

hls-buffer takes a m3u8 url from a remote server and preloads and buffers the linked .ts files in memory

var hls = require('hls-buffer');
var buffer = hls('http://my-favorite-stream.com/some/path/index.m3u8');
var http = require('http');

var server = http.createServer(function(request, response) {
	if (request.url === '/index.m3u8') {
		// first return a playlist
		buffer.playlist(function(err, pl) {
			response.setHeader('Content-Type', 'application/vnd.apple.mpegurl');
			response.end(pl);
		});
	} else {
		// else return the linked segment
		var stream = buffer.segment(request.url);
		response.setHeader('Content-Type', 'video/mp2s');
		stream.pipe(response);
	}
});

server.listen(8080);

If you run the above example with your favorite http live streaming service a local preloading proxy will be started on http://localhost:8080/index.m3u8.

Per default up to 8 segments will be buffered in ram. To change this pass {max:number} as the second parameter to the constructor

License

MIT

0.1.5

11 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago