Beispiel #1
0
        static async Task Main(string[] args)
        {
            var webhost = WebHost
                          .CreateDefaultBuilder(args)
                          .ConfigureServices(services =>
            {
                services.AddWebRtcServer();

                services.AddSingleton <IWebSocketSignalingServer, WebSocketSignalingServer>();
                services.AddSingleton <IRtspClient, RtspClient>();
                services.AddSingleton <IRtspPlayer, RtspPlayer>();
                services.AddSingleton <IRtspProxyService, RtspProxyService>();

                services.AddMvc();
            })
                          .Configure(app =>
            {
                app.UseDeveloperExceptionPage();

                app.UseDefaultFiles();
                app.UseStaticFiles();
                app.UseWebSockets();

                app.Use((ctx, next) => ConfigureWebSocketSignalingRoute(app, ctx, next));
            })
                          .Build();

            _webRtcServer = webhost.Services.GetService <IWebRtcServer>();

            _ = Task.Run(_webRtcServer.RunAsync);
            await webhost.RunAsync();
        }
 public WebSocketSignalingServer(
     ILogger <WebSocketSignalingServer> logger,
     IWebRtcServer webRtcServer,
     IStunHandler stunHandler,
     IRtspProxyService rtspProxyService)
 {
     _logger           = logger;
     _webRtcServer     = webRtcServer;
     _stunHandler      = stunHandler;
     _rtspProxyService = rtspProxyService;
 }
Beispiel #3
0
        public RtspProxyService(
            IRtspPlayer rtspPlayer,
            IWebRtcServer webRtcServer,
            IWebRtcConnectionManager webRtcConnectionManager,
            ILogger <RtspProxyService> logger,
            IDtlsHandler dtlsServer,
            IStunUserProvider stunUserProvider)
        {
            _rtspPlayer              = rtspPlayer;
            _webRtcServer            = webRtcServer;
            _webRtcConnectionManager = webRtcConnectionManager;
            _logger           = logger;
            _dtlsServer       = dtlsServer;
            _stunUserProvider = stunUserProvider;

            _rtspPlayer.RtpPacketReceived += RtpPacketReceived;
        }