node.js - 我正在运行一个简单的 Node.JS 服务器,它以 application/octet-stream 格式提供数据流
问题描述
我有一个简单的设置,其中包括一个简单的 Web 界面,该界面使用网络摄像头将媒体数据发送到 Node.JS 服务器,然后服务器将此数据发送到另一个我需要在界面上显示实时视频的地方。我面临的问题是我在 Node.JS 流中获取数据,当我将其转换为 Blob 时,我看到application/octet-stream
. 我无法弄清楚如何在 HTML 的视频标签中显示这些数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Jimmy Test Receiver</title>
</head>
<body>
Receiver
<button onclick="connect()">Connect</button>
<video id="videoElement"></video>
</body>
<script src="https://cdn.jsdelivr.net/npm/socket.io-client@2/dist/socket.io.js"></script>
<script src="stream.js"></script>
<script>
var mediaStream = new MediaStream();
</script>
<script>
function connect() {
var socket = io.connect('http://localhost/user');
var stream;
var data;
socket.on('connect', function () {
console.log('connected');
stream = ss.createStream();
ss(socket).emit('file', stream);
stream.on('data', (chunk) => {
console.log('data in stream', chunk);
if (!data) {
data = chunk;
}
data += chunk;
// The data received received here is application/octet-stream and its the data from a webcam from another client side. Now I want this data to show in the video tag so that this user can see the live stream of another user's video
document.getElementById('videoElement').src = window.URL.createObjectURL(new Blob([data]));
});
stream.on('finish', () => {
const blob = new Blob([data], {type: 'video/webm;codecs=vp9'});
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function () {
var base64data = reader.result;
// console.log(base64data);
//
// const ele = document.createElement('img');
//
// ele.src = base64data;
//
// document.getElementsByTagName('body')[0].appendChild(ele);
};
console.log('stream has finished', blob);
});
});
}
</script>
</html>
解决方案
推荐阅读
- wordpress - 如何在 docker 上更新 wordpress
- objective-c - NSMutableArray 未按预期实例化
- r - 根据一定的规则调整向量子集的值
- java - 错误:java.sql.sqlexception:没有为参数 1 指定值
- php - php中时间戳的格式化
- html - 使 div 项目透明,悬停时内容不透明
- javascript - 将图像添加到第一个孩子
- django - Django - 我如何确定 django 正在记录什么模块?
- javascript - JavaScript/TypeScript 转译器工作流程
- c++ - 如何从 bash 脚本捕获终端输出并将其显示在我的 Qt UI 中?