Javascript 我可以通过Web RTC将视频从一个客户端传输到另一个客户端吗?

Javascript 我可以通过Web RTC将视频从一个客户端传输到另一个客户端吗?,javascript,webrtc,Javascript,Webrtc,我知道我可以使用WebRTC在用户之间传输摄像头中的视频,但是Node.js具有以流的形式读取视频的功能,允许传输大文件,甚至长达一小时的视频(在Node.js上不能一次读取非常大的视频),我不确定基于浏览器的JS是否具有将用户选择的视频读入流格式以用于WebRTC的工具 这能做到吗 如果您希望能够在JS中处理mp4,请查看: 如果您希望能够在JS中处理mp4,请查看: 是的,这可以在Firefox中完成,使用和: browse.onchange=e=>{ var reader=new Fil

我知道我可以使用WebRTC在用户之间传输摄像头中的视频,但是Node.js具有以流的形式读取视频的功能,允许传输大文件,甚至长达一小时的视频(在Node.js上不能一次读取非常大的视频),我不确定基于浏览器的JS是否具有将用户选择的视频读入流格式以用于WebRTC的工具


这能做到吗

如果您希望能够在JS中处理mp4,请查看:


如果您希望能够在JS中处理mp4,请查看:


是的,这可以在Firefox中完成,使用和:

browse.onchange=e=>{
var reader=new FileReader();
reader.readAsDataURL(browse.files[0]);
reader.onloadend=e=>v1.src=reader.result;
};
var pc1=new mozrtpeerconnection(),pc2=new mozrtpeerconnection();
var add=(p,can)=>can&&p.addIceCandidate(can.catch)(失败);
pc1.onicecandidate=e=>add(pc2,e.candidate);
pc2.onicecandidate=e=>add(pc1,e.candidate);
pc2.onaddstream=e=>v2.mozSrcObject=e.stream;
函数send(){
pc1.addStream(v1.mozCaptureStreamUntellend());
pc1.createOffer()
.then(offer=>pc1.setLocalDescription(offer))
.then(()=>pc2.setRemoteDescription(pc1.localDescription))
.然后(()=>pc2.createAnswer())
.then(答案=>pc2.setLocalDescription(答案))
.then(()=>pc1.setRemoteDescription(pc2.localDescription))
。然后(()=>log(“已连接!”)
.捕获(失败);
}
var log=msg=>div.innerHTML+=“”+msg+“

”; var failed=e=>log(e+,行“+e.lineNumber)



发送是的,这可以在Firefox中使用和完成:

browse.onchange=e=>{
var reader=new FileReader();
reader.readAsDataURL(browse.files[0]);
reader.onloadend=e=>v1.src=reader.result;
};
var pc1=new mozrtpeerconnection(),pc2=new mozrtpeerconnection();
var add=(p,can)=>can&&p.addIceCandidate(can.catch)(失败);
pc1.onicecandidate=e=>add(pc2,e.candidate);
pc2.onicecandidate=e=>add(pc1,e.candidate);
pc2.onaddstream=e=>v2.mozSrcObject=e.stream;
函数send(){
pc1.addStream(v1.mozCaptureStreamUntellend());
pc1.createOffer()
.then(offer=>pc1.setLocalDescription(offer))
.then(()=>pc2.setRemoteDescription(pc1.localDescription))
.然后(()=>pc2.createAnswer())
.then(答案=>pc2.setLocalDescription(答案))
.then(()=>pc1.setRemoteDescription(pc2.localDescription))
。然后(()=>log(“已连接!”)
.捕获(失败);
}
var log=msg=>div.innerHTML+=“”+msg+“

”; var failed=e=>log(e+,行“+e.lineNumber)



发送由于视频聊天是可能的,我认为至少点对点流应该可以工作。是的,这在firefox中是可能的。我不确定chrome。因为视频聊天是可能的,我认为至少点对点流应该可以工作。是的,这在firefox中是可能的。我对铬不太清楚。