javascript - 媒体对象不响应包含对象的 cookie
问题描述
抱歉,如果问题非常愚蠢,我正在尝试使用 js 将流从一个人显示给另一个用户
我试过把它放在一个cookie中,但即使那样它也不起作用。即使视频中的对象与另一个对象相同
文件 1
var video = document.querySelector("#videoElement");
var x=document.cookie
console.log(x)
video.srcObject = x;
文件 2
var video = document.querySelector("#videoElement");
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
document.cookie=video.srcObject
console.log(stream,video.srcObject)
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
console.log(stream,video.srcObject)
}
我现在只想在两页上展示它,但是如果你知道你可以分享它,我应该用什么语言来存储视频
解决方案
cookie 不是网络上的集中式通用相机访问存储库。谢天谢地。
AMediaStream
是表示活动相机使用的本地资源对象,而不是可共享的URL。
该对象仅存在于您的本地 JS 页面中,无法在 Web 上寻址。
由于它不存在于任何服务器上,因此将图形位从您的相机传输到朋友的系统需要相当多的繁重工作。这包括建立一个RTCPeerConnection,它是WebRTC的域:
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
const iceServers = [{urls: "stun:stun.l.google.com:19302"}];
const pc = new RTCPeerConnection({iceServers});
for (const track of stream.getTracks())
pc.addTrack(track, stream);
/* lots of other WebRTC negotiation code */
您通常还需要某种类型的服务器,既可以解决发现问题(即联系点),也需要一个 Web 套接字服务器来交换两个对等方之间建立连接所必需的关键提议/回答会话描述。
也许最简单的概念证明是这个 cut'n'paste 演示,它让您和朋友手动交换所需的 WebRTC 提议/回答会话描述,让您在没有任何服务器的情况下建立连接,互相查看和交谈。
这有大约 70% 的工作机会。如果你们都在对称 NAT(大多数移动网络)之后,那么它会变得更加困难(您需要一个 TURN 服务器,这需要花钱)。
推荐阅读
- python - 如何在 Django Model 的一个模型类中使用或继承 2 个模型类字段?
- javascript - Electron 作为 Web 应用程序
- python - 从输入提示返回终止while循环 - Python
- c# - 文本c#下方的电报按钮
- docker - 在 docker compose 中从一个 docker 容器到另一个容器的 api 调用
- php - 很多人不推荐PHP中的全局变量的原因是什么?
- python - 使用 dataframe.mean() 时运行时间出现奇怪的指数增长(Pandas 性能非数字列)
- excel - 如何将选定的列连接成一列?
- javascript - Vue 组件:props 未定义
- gatling - gatling 3.2:从rest端点获取json,更改并返回