webrtc每个视频聊天,但只需要一方将视频发送到另一方

时间:2017-02-10 03:48:38

标签: javascript video-streaming webrtc simplewebrtc

我读了很多关于webrtc的例子,但是我不能理解如何在A和B之间聊天视频p2p,但只需要A使用p2p连接向B发送流视频,如何做到这一点? 我试图在B {video:false}中禁用视频本地,但它有错误,无法正常工作。

我的剧本



<!DOCTYPE html>
<html>
    <head>
        <script src="https://simplewebrtc.com/latest-v2.js"></script>
        <script type="text/javascript">

            var webrtc = new SimpleWebRTC({
                // the id/element dom element that will hold "our" video

                localVideoEl: 'localVideo',

                // the id/element dom element that will hold remote videos
                remoteVideosEl: 'remotesVideos',
                // immediately ask for camera access
                autoRequestMedia: true,
                //https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
                //https://github.com/andyet/signalmaster/blob/master/README.md
                media: {
                        audio: false,
                        video: {
                            //width: 720,
                            width: {ideal: 640},
                            // height: 1280,
                            height: {ideal: 480},
                            frameRate: {ideal: 15}
                        }
                },
                receiveMedia: {
                    offerToReceiveAudio: 0,
                    offerToReceiveVideo: 1
                }
            });


            // we have to wait until it's ready
            webrtc.on('readyToCall', function () {
                // you can name it anything
                webrtc.joinRoom('zika ghe vl');
            });


        </script>
    </head>
    <body>
        <div id="remotesVideos"></div>
    </body>
</html>
&#13;
&#13;
&#13; 我的例子来自这里:https://github.com/andyet/SimpleWebRTC 那么,如何将B(观察者)禁用发送B的localVideo为A,只发送一个流视频到B.

1 个答案:

答案 0 :(得分:1)

在发件人方启用视频,禁用音频。接收器禁用两者。 尝试以下代码

<!DOCTYPE html>
<html>
    <head>
        <script src="https://simplewebrtc.com/latest-v2.js"></script>
         <button onclick="start(false)">Receive video</button>
          <button onclick="start(true)"">Send video</button>
        <script type="text/javascript">
            function start (e) {

                /**
                    have separate settings to get the trigger form UI
                */
                var videoSettings = {
                            //width: 720,
                            width: {ideal: 640},
                            // height: 1280,
                            height: {ideal: 480},
                            frameRate: {ideal: 15}
                        }
                if(!e) videoSettings = e;
                new SimpleWebRTC({
                // the id/element dom element that will hold "our" video

                    localVideoEl: 'localVideo',

                    // the id/element dom element that will hold remote videos
                    remoteVideosEl: 'remotesVideos',
                    // immediately ask for camera access
                    autoRequestMedia: true,
                    //https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
                    //https://github.com/andyet/signalmaster/blob/master/README.md
                    media: {
                            audio: false,
                            video: videoSettings
                    },
                    receiveMedia: {
                        offerToReceiveAudio: 0,
                        offerToReceiveVideo: 1
                    }
                }).on('readyToCall', function () {
                    // you can name it anything
                    this.joinRoom('zika ghe vl');
                });
            }    

        </script>
    </head>
    <body>
        <div id="remotesVideos"></div>
    </body>
</html>
相关问题