使用 HTML5 和 WebRTC 向(YouTube、Twitch、facebook)广播网络摄像头

broadcast a web-cam to (YouTube, Twitch , facebook) using HTML5 and WebRTC

我正在做一个项目,我需要在 youtube, twitch , Facebook 或我网站上的其他平台使用 HTML5 , rtmp , webrtc, nodejs....

所以我不想去 youtube 开始直播视频,而是想从我的网站开始视频

但我是 webrtc 和直播的新手,我不知道该做什么或如何开始这个所以如果有人对如何做有任何想法或建议请联系我或在这里发表评论

这就是我所做的

服务器端(NodeJs)


io.on('connection', (socket) =>{

    socket.on('stream', stream =>{
        console.log(stream)
        socket.broadcast.emit('stream', stream);
      
            
    });

})

客户端

Html (video.html)

<div id="videos">
    <video id="video" autoplay>

    </video>

</div>
 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script src="js/video.js"></script>

Javascript (video.js)
var socket = io();
navigator.mediaDevices.getUserMedia({
    video  : true,
    audio: true
})
.then(stream =>{
    document.getElementById('video').srcObject = stream
    socket.emit("stream", stream);
})

socket.on('stream', stream=>{

    video = document.createElement("video")
    video.srcObject = stream
    video.setAttribute('autoplay')
    document.getElementById("videos").appendChild(video)
})

您需要在后端做一个 WebRTC to RTMP 桥接。

有很多事情需要考虑,但这是一个常见问题,所以我把它们放在一起 twitch。这是一个这样做的例子。