Beispiel #1
0
        /// <summary>
        /// Creates a new instance of <see cref="WebRTCWriter"/>.
        /// </summary>
        /// <param name="FileName">Output file path.</param>
        /// <param name="Codec">The Avi Codec.</param>
        /// <param name="ImageProvider">The image source.</param>
        /// <param name="FrameRate">Video Frame Rate.</param>
        /// <param name="AudioProvider">The audio source. null = no audio.</param>
        public WebRTCWriter(string FileName, WebRTCCodec Codec, WebRTCSettings settings, IImageProvider ImageProvider, int FrameRate, IAudioProvider AudioProvider = null)
        {
            _codec = Codec;

            _width       = ImageProvider.Width;
            _height      = ImageProvider.Height;
            _videoBuffer = new byte[_width * _height * 4];
            _connection  = new WebRTC.WebRTCHost(settings);
        }
Beispiel #2
0
 public WebRTCHost(WebRTCSettings settings)
 {
     if (settings.Mode == WebRTCEndpoint.WebSocket)
     {
         service = new WebSocketService(this, settings.WebSocketPath, settings.WebSocketPort);
     }
     else if (settings.Mode == WebRTCEndpoint.MediaServer)
     {
         service = new MediaServerService(this, settings.MediaServerUrl, settings.MediaServerStreamName);
     }
     else
     {
         throw new Exception($"Invalid mode {settings.Mode}");
     }
 }