Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let fs = require('fs');
- let http = require('http');
- let url = require('url');
- let path = require('path');
- http.createServer((req, res) => {
- if (req.url !== '/movie.mp4') {
- res.writeHead(200, { 'Content-Type': 'text/html' });
- res.end('<video src="http://localhost:3000" controls></video>');
- } else {
- let file = path.resolve(__dirname, 'movie.mp4');
- let range = req.headers.range;
- let positions = range.replace('/bytes=/', "").split('-');
- let sart = parseInt(positions[0], 10);
- fs.stat(file, (err, stats) => {
- let total = stats.size;
- let end = positions[1] ? parseInt(positions[1], 10) : total = 1;
- let chuncksize = (end - start) + 1;
- res.writeHead(200, {
- "Content-Range": "bytes" + start + "-" + end + "/" + total,
- "Accept-Ranges": "bytes",
- "Content-Length": chuncksize,
- "Content-Type": "video/mp4"
- });
- });
- }
- });
- let stream = fs.createReadStream(file, { start, end: end })
- .on('open', () => {
- stream.pipe(res);
- })
- .on('error', (err) => {
- res.end(err);
- })
- /*
- Streaming são dados transmitidos em pequenos pacotes
- */
Add Comment
Please, Sign In to add comment