Javascript 使用Gstreamer和Node.js将h.264视频实时流到客户端网页
我想利用下面的示例接受多个摄像头并将其流式传输到客户端网页 以下是我的gstreamer命令供参考: gst-launch-1.0-ve\ videotestsrc是live=真的!视频/x-raw,宽度=640,宽度=480,帧速率=10/1!时间重叠!队列视频转换!万岁!h264parse!队列matroskamux streamable=真!队列泄漏=2!tcpserversink端口=9001主机=127.0.0.1恢复策略=关键帧同步方法=最新关键帧\ videotestsrc是live=真的!视频/x-raw,宽度=640,宽度=480,帧速率=10/1!时间重叠!队列视频转换!万岁!h264parse!队列matroskamux streamable=真!队列泄漏=2!tcpserversink端口=9002主机=127.0.0.1恢复策略=关键帧同步方法=最新关键帧\ 两个摄像头传输至端口9001和9002 大部分工作发生在app.get()函数中。如何修改它以处理多个套接字Javascript 使用Gstreamer和Node.js将h.264视频实时流到客户端网页,javascript,node.js,gstreamer,live-streaming,Javascript,Node.js,Gstreamer,Live Streaming,我想利用下面的示例接受多个摄像头并将其流式传输到客户端网页 以下是我的gstreamer命令供参考: gst-launch-1.0-ve\ videotestsrc是live=真的!视频/x-raw,宽度=640,宽度=480,帧速率=10/1!时间重叠!队列视频转换!万岁!h264parse!队列matroskamux streamable=真!队列泄漏=2!tcpserversink端口=9001主机=127.0.0.1恢复策略=关键帧同步方法=最新关键帧\ videotestsrc是li
var express = require('express')
var app = express();
var http = require('http')
var httpServer = http.createServer(app);
app.get('/', function (req, res) {
var date = new Date();
res.writeHead(200, {
'Date': date.toUTCString(),
'Connection': 'close',
'Cache-Control': 'private',
'Content-Type': 'video/webm',
//'Content-Type': video/x-matroska,
'Server': 'CustomStreamer/0.0.1',
});
var net = require('net');
var socket = net.connect(9001, function () {
socket.on('close', function (had_error) {
res.end();
});
socket.on('data', function (data) {
res.write(data);
});
});
socket.on('error', function (error) {
console.log(error);
});
});
console.log("Server listening on port.... 8001");
httpServer.listen(8001);
谢谢
更新:创建了另一个套接字,我能够从两个不同的套接字获取数据。也许有一种更聪明的方法可以做到这一点,但现在我重复套接字代码,将它们命名为socket1和socket2,并使用print语句,我有足够的信心从两个摄像头获取数据。现在我需要将视频链接到我的.html文件
var socket1 = net.connect(9001, function () {
socket1.on('close', function (had_error) {
res.end();
});
socket1.on('data', function (data) {
res.write(data);
});
});
var socket2 = net.connect(9001, function () {
socket2.on('close', function (had_error) {
res.end();
});
socket2.on('data', function (data) {
res.write(data);
});
});
socket1.on('error', function (error) {
console.log(error);
});
socket2.on('error', function (error) {
console.log(error);
});