Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过服务器的WebRTC视频流_Javascript_Node.js_Html_Video Streaming_Webrtc - Fatal编程技术网

Javascript 通过服务器的WebRTC视频流

Javascript 通过服务器的WebRTC视频流,javascript,node.js,html,video-streaming,webrtc,Javascript,Node.js,Html,Video Streaming,Webrtc,我想从客户端运行流,然后从服务器连接到客户端 . 如何通过服务器将视频流传输给其他观众?这可能吗?我想试着给你指出正确的方向 首先,让我们进一步了解一下WebRTC的工作原理 在WebRTC中,有一个称为网桥的websocket,网桥的作用是帮助代理两个或多个对等方之间的连接 一般来说,网桥使用STUN/TURN服务器以及SDP协议来帮助建立对等方之间的连接 STUN服务器通过NAT打孔来建立p2p udp协议 如果STUN无法打通一个整体(即有防火墙),则使用TURN服务器作为中心辐射(即通过

我想从客户端运行流,然后从服务器连接到客户端
. 如何通过服务器将视频流传输给其他观众?这可能吗?

我想试着给你指出正确的方向

首先,让我们进一步了解一下WebRTC的工作原理

在WebRTC中,有一个称为网桥的websocket,网桥的作用是帮助代理两个或多个对等方之间的连接

一般来说,网桥使用STUN/TURN服务器以及SDP协议来帮助建立对等方之间的连接

STUN服务器通过NAT打孔来建立p2p udp协议

如果STUN无法打通一个整体(即有防火墙),则使用TURN服务器作为中心辐射(即通过TURN服务器中继数据)

完整的WebRTC堆栈包括视频/音频流和vp8/vp9/h264编解码器,数据使用RTP打包

幸运的是,有一个节点js库几乎实现了整个堆栈

该库本质上为您提供了一个WebRTC数据通道。 不支持“媒体流”,因此我假设您需要自己构建编码/解码和RTP打包

但是,这里讨论了如何使用数据通道流式传输音频/视频:

现在,您的具体问题是,如何从“服务器”流式传输

WebRTC通常是p2p的,但是您可以设置一个“服务器对等点”,并将其指定为只有一个源通道(即没有输入通道)

该对等方随后成为“服务器”,所有其他对等方在连接时都可以查看其内容

希望有帮助


干杯

您正在尝试将音频流混合到一个记录中吗?不需要音频“加入”是什么意思?通过url或套接字从服务器连接到客户端。io可能您可以将
元素
src
设置为您提供媒体的url。不确定您在客户端尝试实现什么?