public HLSRequestManager(
            IMemoryCache memoryCache,
            IOptions <JT1078Configuration> jT1078ConfigurationAccessor,
            JT1078HttpSessionManager httpSessionManager,
            JT1078SessionManager sessionManager,
            FileSystemWatcher fileSystemWatcher,
            ILoggerFactory loggerFactory)
        {
            this.memoryCache       = memoryCache;
            this.fileSystemWatcher = fileSystemWatcher;
            HttpSessionManager     = httpSessionManager;
            SessionManager         = sessionManager;
            Configuration          = jT1078ConfigurationAccessor.Value;
            Logger = loggerFactory.CreateLogger <HLSRequestManager>();

            Task.Run(() => {
                while (true)
                {
                    var expireds = HttpSessionManager.GetAll().Where(m => DateTime.Now.Subtract(m.StartTime).TotalSeconds > 20).ToList();
                    foreach (var item in expireds)
                    {
                        //移除httpsession
                        HttpSessionManager.TryRemoveBySim(item.Sim);
                        //移除tcpsession
                        SessionManager.RemoveByTerminalPhoneNo(item.Sim);
                    }
                    Thread.Sleep(TimeSpan.FromSeconds(10));
                }
            });
        }
 public JT1078SessionNoticeJob(
     JT1078SessionNoticeService sessionNoticeService,
     ILoggerFactory loggerFactory,
     [AllowNull] JT1078HttpSessionManager jT1078HttpSessionManager = null)
 {
     logger = loggerFactory.CreateLogger <JT1078SessionNoticeJob>();
     SessionNoticeService = sessionNoticeService;
     HttpSessionManager   = jT1078HttpSessionManager;
 }
 public JT1078HlsNormalMsgHostedService(
     M3U8FileManage M3U8FileManage,
     JT1078HttpSessionManager httpSessionManager,
     IJT1078MsgConsumer msgConsumer)
 {
     MsgConsumer         = msgConsumer;
     HttpSessionManager  = httpSessionManager;
     this.M3U8FileManage = M3U8FileManage;
 }
 public JT1078HlsNormalMsgHostedService(
     M3U8FileManage M3U8FileManage,
     JT1078HttpSessionManager httpSessionManager,
     IJT1078PackageConsumer packageConsumer)
 {
     PackageConsumer     = packageConsumer;
     HttpSessionManager  = httpSessionManager;
     this.M3U8FileManage = M3U8FileManage;
 }
 public JT1078NormalMsgHostedService(
     FlvEncoder flvEncoder,
     JT1078HttpSessionManager httpSessionManager,
     IJT1078PackageConsumer packageConsumer)
 {
     PackageConsumer    = packageConsumer;
     HttpSessionManager = httpSessionManager;
     FlvEncoder         = flvEncoder;
 }
 public HLSRequestManager(IOptions <JT1078Configuration> jT1078ConfigurationAccessor,
                          JT1078HttpSessionManager httpSessionManager,
                          HLSPathStorage hLSPathStorage,
                          ILoggerFactory loggerFactory)
 {
     HttpSessionManager  = httpSessionManager;
     this.hLSPathStorage = hLSPathStorage;
     Configuration       = jT1078ConfigurationAccessor.Value;
     Logger = loggerFactory.CreateLogger <HLSRequestManager>();
 }
 public JT1078HttpServerHandler(
     JT1078HttpSessionManager jT1078HttpSessionManager,
     IJT1078Authorization iJT1078Authorization,
     ILoggerFactory loggerFactory,
     IHttpMiddleware httpMiddleware = null)
 {
     this.jT1078HttpSessionManager = jT1078HttpSessionManager;
     this.iJT1078Authorization     = iJT1078Authorization;
     this.httpMiddleware           = httpMiddleware;
     logger = loggerFactory.CreateLogger <JT1078HttpServerHandler>();
 }
 public JT1078WSFlvHostedService(
     ILoggerFactory loggerFactory,
     JT1078WSFlvDataService jT1078WSFlvDataServic,
     JT1078HttpSessionManager jT1078HttpSessionManager)
 {
     logger                        = loggerFactory.CreateLogger("JT1078WSFlvHostedService");
     flvEncodingLogger             = loggerFactory.CreateLogger("FlvEncoding");
     this.jT1078WSFlvDataService   = jT1078WSFlvDataServic;
     this.jT1078HttpSessionManager = jT1078HttpSessionManager;
     FlvEncoder                    = new FlvEncoder(loggerFactory);
 }
 public JT1078FlvNormalMsgHostedService(
     IMemoryCache memoryCache,
     ILoggerFactory loggerFactory,
     FlvEncoder flvEncoder,
     JT1078HttpSessionManager httpSessionManager,
     IJT1078MsgConsumer msgConsumer)
 {
     Logger             = loggerFactory.CreateLogger <JT1078FlvNormalMsgHostedService>();
     JT1078MsgConsumer  = msgConsumer;
     HttpSessionManager = httpSessionManager;
     FlvEncoder         = flvEncoder;
     this.memoryCache   = memoryCache;
 }
 public JT1078SessionClearJob(
     ILoggerFactory loggerFactory,
     JT1078SessionManager SessionManager,
     HLSPathStorage hLSPathStorage,
     IOptions <JT1078Configuration> jT1078ConfigurationAccessor,
     [AllowNull] JT1078HttpSessionManager jT1078HttpSessionManager = null)
 {
     logger              = loggerFactory.CreateLogger <JT1078SessionClearJob>();
     HttpSessionManager  = jT1078HttpSessionManager;
     this.hLSPathStorage = hLSPathStorage;
     this.SessionManager = SessionManager;
     this.Configuration  = jT1078ConfigurationAccessor.Value;
 }
 public JT1078HlsNormalMsgHostedService(
     ILoggerFactory loggerFactory,
     M3U8FileManage M3U8FileManage,
     JT1078HttpSessionManager httpSessionManager,
     MessageDispatchDataService messageDispatchDataService,
     IJT1078MsgConsumer msgConsumer)
 {
     logger                          = loggerFactory.CreateLogger <JT1078HlsNormalMsgHostedService>();
     MsgConsumer                     = msgConsumer;
     HttpSessionManager              = httpSessionManager;
     this.M3U8FileManage             = M3U8FileManage;
     this.messageDispatchDataService = messageDispatchDataService;
 }
示例#12
0
 public JT1078HttpServer(
     IOptions <JT1078Configuration> jT1078ConfigurationAccessor,
     IJT1078Authorization authorization,
     JT1078HttpSessionManager sessionManager,
     HLSRequestManager hLSRequestManager,
     ILoggerFactory loggerFactory)
 {
     Logger                 = loggerFactory.CreateLogger <JT1078TcpServer>();
     Configuration          = jT1078ConfigurationAccessor.Value;
     this.authorization     = authorization;
     this.SessionManager    = sessionManager;
     this.hLSRequestManager = hLSRequestManager;
 }
示例#13
0
 public JT1078HttpServer(
     IMemoryCache memoryCache,
     IOptions <JT1078Configuration> jT1078ConfigurationAccessor,
     IJT1078Authorization authorization,
     JT1078HttpSessionManager sessionManager,
     ILoggerFactory loggerFactory)
 {
     Logger              = loggerFactory.CreateLogger <JT1078TcpServer>();
     Configuration       = jT1078ConfigurationAccessor.Value;
     this.authorization  = authorization;
     this.SessionManager = sessionManager;
     this.memoryCache    = memoryCache;
 }
示例#14
0
 public JT1078HeartbeatJob(
     JT1078CoordinatorHttpClient jT1078CoordinatorHttpClient,
     JT1078HttpSessionManager jT1078HttpSessionManager,
     IOptionsMonitor <JT1078Configuration> jT1078ConfigurationAccessor,
     ILoggerFactory loggerFactory,
     JT1078SessionManager jT1078SessionManager
     )
 {
     SessionManager        = jT1078SessionManager;
     HttpSessionManager    = jT1078HttpSessionManager;
     Logger                = loggerFactory.CreateLogger <JT1078HeartbeatJob>();
     Configuration         = jT1078ConfigurationAccessor;
     CoordinatorHttpClient = jT1078CoordinatorHttpClient;
 }
 public JT1078FMp4NormalMsgHostedService(
     MessageDispatchDataService messageDispatchDataService,
     IMemoryCache memoryCache,
     ILoggerFactory loggerFactory,
     FMp4Encoder fM4Encoder,
     JT1078HttpSessionManager httpSessionManager,
     IJT1078MsgConsumer msgConsumer)
 {
     Logger             = loggerFactory.CreateLogger <JT1078FMp4NormalMsgHostedService>();
     JT1078MsgConsumer  = msgConsumer;
     HttpSessionManager = httpSessionManager;
     FM4Encoder         = fM4Encoder;
     this.memoryCache   = memoryCache;
     this.messageDispatchDataService = messageDispatchDataService;
 }
示例#16
0
 public FFMPEGHTTPFLVHostedService(JT1078HttpSessionManager jT1078HttpSessionManager)
 {
     pipeServerOut = new NamedPipeServerStream(PipeNameOut, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous, 10240, 10240);
     process       = new Process
     {
         StartInfo =
         {
             FileName        = @"C:\ffmpeg\bin\ffmpeg.exe",
             Arguments       = $@"-f dshow -i video={HardwareCamera.CameraName} -c copy -f flv -vcodec h264 -y \\.\pipe\{PipeNameOut}",
             UseShellExecute = false,
             CreateNoWindow  = true
         }
     };
     this.jT1078HttpSessionManager = jT1078HttpSessionManager;
 }
示例#17
0
 public JT1078FMp4NormalMsgHostedService(
     MessageDispatchDataService messageDispatchDataService,
     IMemoryCache memoryCache,
     ILoggerFactory loggerFactory,
     H264Decoder h264Decoder,
     FMp4Encoder fM4Encoder,
     JT1078HttpSessionManager httpSessionManager)
 {
     Logger             = loggerFactory.CreateLogger <JT1078FMp4NormalMsgHostedService>();
     HttpSessionManager = httpSessionManager;
     FM4Encoder         = fM4Encoder;
     H264Decoder        = h264Decoder;
     this.memoryCache   = memoryCache;
     this.messageDispatchDataService = messageDispatchDataService;
     avFrameDict = new ConcurrentDictionary <string, List <H264NALU> >();
 }