Articles of videostream

在NodeJS中的高性能video文件服务器

我想在NodeJS中构build一个高可用性和高性能的video文件服务器和stream媒体video。 基本上,我想知道: 在NodeJS中创buildvideo文件服务器有哪些可能的方法。 它会pipe理很多并发请求吗? 由于这是一个video文件,每个请求都花费时间来完全解决。 有没有其他的可能性使用另一个静态文件服务器。 请告诉我如何走上正确的道路。

为什么图像没有完全显示与我的stream应用程序?

我已经写了一个简单的Node.js应用程序来传输内容(主要用于video,但其他的东西也可以)。 它似乎工作得很好,除了一些jpeg,其中图像的底部并不总是显示。 这里是一个例子,图片的底部在左侧丢失。 显示问题的网站在这里 ,没有问题的相同的网站在这里 。 (在第一个链接的大多数图像的底部应该有粉红色的位) 该应用程序的代码是在Github上 ,但我想重要的线是 stream = fs.createReadStream(info.file, { flags: "r", start: info.start, end: info.end }); stream.pipe(res); (所有的繁重工作都是由stream.js完成的,而不是我的代码。) 我已经尝试删除开始和结束参数,但没有区别。 如果将其更改为将文件stream式传输到process.stdout ,并将输出保存到文件,则会显示整个图像。 一个文件比较程序说stdout和原来的文件是一样的。 如果我转移除基线jpeg以外的东西(所以即使渐进式jpegs工作),它显示整个文件。 如果我通过链接的Node.js应用程序(使用Express)访问文件,但不通过stream式传输器,它显示整个图像。 如果我从浏览器中将不完整的图片保存到桌面,则会保存整个图像。 对于一些JPEG的作品,但不是最。 这个问题发生在本地和我的服务器上(Windows 2008 R2和Ubuntu 11)。 浏览器testing(超过3台计算机和1个虚拟机) Safari 4,5 – 作品 火狐4,11(2电脑) – 不起作用 Chrome 18(2台电脑) – 不起作用 IE 8 – 不起作用 IE 9 – 作品 歌剧11 […]

捕获缩略图Whilte下载Youtubevideo

我想在特定时间线上捕捉Youtubevideo的缩略图。 (例如3.2秒)我用ytdl和fluent-ffmpeg和node.js来实现它。 下载完成后可以捕获缩略图。 var fs = require('fs'); var ytdl = require('ytdl'); var ffmpeg = require('fluent-ffmpeg'); var videostream = fs.createWriteStream('video.flv'); var myytdl = ytdl('http://www.youtube.com/watch?v=A02s8omM_hI'); myytdl.pipe(videostream); videostream.on('close',function() { console.log('Downloading complete…'); var proc = new ffmpeg({ source: 'video.flv', nolog: true }) .withSize('150×100') .takeScreenshots(1, '/home/test', function(err) { console.log(err || 'Screenshots were saved'); }); }); 但是,我无法实现在下载时捕获缩略图。 我想要做的基本想法如下。 从X秒开始下载Youtubevideo。 (工程) 将其pipe理为可读/可写(双工)内存stream(需要通知) […]

HTTP伪stream,如何获取范围从开始参数

我们正在为nodejs中的MP4文件进行HTTP伪stream式传输。 对于HTML5,这非常简单,因为它可以与内容范围标题一起使用,但是对于Flash而言,通常会将startparameter passing到包含要跳过的秒数的请求。 有谁知道什么逻辑会将秒转换为字节的video,还有什么可能需要这个? 任何正确的信息将是一个巨大的帮助。 谢谢!

将几个video文件与Node JS结合成一个stream

试图创build一个像在线电video道,从互联网上stream随机video。 我可以下载和解压缩video。 但是,我如何从他们创build一个stream? 我读到,我可以将video分成大块,然后逐一交给客户。 这是唯一的方法吗? 我应该用什么js库?

使用nodejs将videostream传输到浏览器

我想用nodejs创build一个stream媒体服务器(我知道有很多,但我想创build一个使用nodejs),问题是,video不像YouTube上得到下载,你可以给如何做像YouTube一样获得stream媒体,谢谢 var http = require('http'), var fs = require('fs'), var util = require('util'); http.createServer(function (req, res) { var path = '/home/flumotion/test.mp4'; var stat = fs.statSync(path); var total = stat.size; if (req.headers['range']) { var range = req.headers.range; console.log("Range = "+range); var parts = range.replace(/bytes=/, "").split("-"); var partialstart = parts[0]; var partialend = parts[1]; var start = […]

如何使用node.js将当前正在下载的videostream传输到html5播放器?

我目前正在下载一个项目,下载一个洪stream,而下载时,它stream到一个HTML5video播放器。 我的项目的限制不让我使用peerflix或webtorrent。 我目前正在使用torrent-stream模块。 我的代码是在node.js和帕格。 具体如下: server.js var uri = 'magnet:?xt=urn:btih:11a2ac68a11634e980f265cb1433c599d017a759'; var engine = torrentStream(uri); let engineGo = function () { return new Promise(function (resolve, reject) { var engine = torrentStream(uri); engine.on('ready', function() { engine.files.forEach(function(file) { if (file.name.substr(file.name.length – 3) == 'mkv' || file.name.substr(file.name.length – 3) == 'mp4') { console.log('filename:', file.name); var stream = file.createReadStream(); var […]

来自JavaScript blob的video源

我想要显示一个videostream; 我有一个nodeJS服务器发送一个oggvideostream到一个websocket端口,当一个客户端连接到该端口,它开始接收videostream数据,但下面的方法似乎没有正确理解video数据… 在下面的上下文中,“camera”是一个html5video标签id: function connectWS() { var client = new BinaryClient('ws://192.168.161.193:8088'); client.on('stream', function(stream, meta) { stream.on('data', function(data) { var arrayBuffer = []; arrayBuffer.push(data); var video = new Blob([new Uint8Array(arrayBuffer)], { type: "video/ogg" }); document.getElementById('camera').src = (window.URL || window.webkitURL).createObjectURL(video); }); }); } 有人似乎已经有videoblob工作,但我无法find如何… 从Blob Javascript显示video 谢谢!

NodeJS,OpenCV和stream媒体图像使用networking套接字

我的最终目标是将video从笔记本电脑传输到服务器。 我试图通过在笔记本电脑和服务器上使用NodeJs来实现这一点。 我使用OpenCV库来捕获笔记本电脑上的video,并将其保存为jpg文件。 然后我读取文件并将其转换为base64,以便我可以使用Node中的Net.socket模块来传输它。 这是一个连续的过程:捕获,编码和发送。 这里是传输一个jpg文件的服务器代码: var cv = require('opencv'); var fs = require('fs'); var net = require('net'); var camera = new cv.VideoCapture(0); var server = net.createServer(); server.listen('50007', '127.0.0.1'); server.on('connection', function(socket){ camera.read(function(image){ image.save('original.jpg'); fs.readFile('original.jpg', 'base64', function(err, image){ socket.write(image, 'base64', function(){ socket.end(); }); }); }); }); 在客户端循环,直到从服务器接收到FIN。 这里是客户端代码: var net = require('net'); var fs = require('fs'); […]

如何监控/计算NodeJS服务器的带宽使用情况?

好吧,所以在一些业余时间,我已经开发了一个nodejs / socketio应用程序streamvideo,但我想知道它运行在什么样的状态,我有我的活动监视器运行,目前有2个用户发送对方的数据stream和统计如下面所述: %CPU: 6.0 Threads: 5 Real Memory: 59.6mb 我如何计算在服务器上发送的数据的总MB / GB?