コード例 #1
0
    public WebRtcCoreWindows()
    {
//        text = GameObject.Find("TestText").GetComponent<UnityEngine.UI.Text>();

        Close();
        List <string> servers = new List <string>();

        servers.Add("stun: stun.l.google.com:19302");
        peer         = new PeerConnectionM(servers, "", "");
        UniquePeerId = peer.GetUniqueId();


        peer.OnLocalSdpReadytoSend    += OnLocalSdpReadytoSend;
        peer.OnIceCandiateReadytoSend += OnIceCandiateReadytoSend;
        peer.FramgeGate_onReceived    += ReceivedRGBFrame;
        peer.OnFailureMessage         += OnFailureMessage;

        peer.OnDataFromDataChannelReady += DataFromDataChannelReady;
        peer.OnLocalDataChannelReady    += DataFromDataChannelReady2;

        peer.AddStream(false);
        bool rst = peer.AddDataChannel();

        Debug.Log("add data channel rst : " + rst);

        Texture2D tex = new Texture2D((int)1920, (int)1080, TextureFormat.ARGB32, false);

        ReceivedVideoFrame = new RTCVideoFrame(tex, 0);



        receivedTextureBuffer = new byte[4 * ReceivedVideoFrame.texture2D.height * ReceivedVideoFrame.texture2D.width];

        Debug.Log("Created WebRTC Core for Windows x64");
    }
コード例 #2
0
    public WebRtcCoreiOS()
    {
        CoMuLogger_Log("WebRtcCoreiOS is creating");
        peer = new PeerConnectioniOS();
        peer.OnLocalSdpReady += SdpReadyCallback;
        CoMuLogger_Log("WebRtcCoreiOS is created");
        Texture2D tex = new Texture2D(480, 640, TextureFormat.RGBA32, false);

        ReceivedVideoFrame      = new RTCVideoFrame(tex, 0);
        peer.ReceivedVideoFrame = this.ReceivedVideoFrame;
    }
        public void DidCaptureSampleBuffer(CMSampleBuffer sampleBuffer)
        {
            if (sampleBuffer.NumSamples != 1 || !sampleBuffer.IsValid || !sampleBuffer.DataIsReady)
            {
                return;
            }

            var pixelBuffer = sampleBuffer.GetImageBuffer() as CVPixelBuffer;

            if (pixelBuffer == null)
            {
                return;
            }

            var rtcPixelBuffer = new RTCCVPixelBuffer(pixelBuffer);
            var timeSpanNS     = (long)(sampleBuffer.PresentationTimeStamp.Seconds * 1000);
            var videoFrame     = new RTCVideoFrame(rtcPixelBuffer, RTCVideoRotation.Rotation0, timeSpanNS);

            Delegate?.Capturer(this, videoFrame);
        }