diff --git a/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config b/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config index 5031aff..0a5efae 100644 --- a/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config +++ b/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config @@ -20,6 +20,9 @@ + @@ -41,6 +44,7 @@ + diff --git a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs index 86a8a5a..c90dcc4 100644 --- a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs +++ b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs @@ -35,12 +35,14 @@ namespace JT1078.DotNetty.TestHosting private readonly JT1078WSFlvDataService jT1078WSFlvDataService; private readonly FlvEncoder FlvEncoder = new FlvEncoder(); private readonly ILogger logger; + private readonly ILogger flvEncodingLogger; public JT1078WSFlvHostedService( ILoggerFactory loggerFactory, JT1078WSFlvDataService jT1078WSFlvDataServic, JT1078HttpSessionManager jT1078HttpSessionManager) { logger = loggerFactory.CreateLogger("JT1078WSFlvHostedService"); + flvEncodingLogger = loggerFactory.CreateLogger("FlvEncoding"); this.jT1078WSFlvDataService = jT1078WSFlvDataServic; this.jT1078HttpSessionManager = jT1078HttpSessionManager; } @@ -51,9 +53,18 @@ namespace JT1078.DotNetty.TestHosting { try { + Stopwatch stopwatch = new Stopwatch(); foreach (var item in jT1078WSFlvDataService.JT1078Packages.GetConsumingEnumerable()) { + stopwatch.Start(); var flv3 = FlvEncoder.CreateFlvFrame(item); + stopwatch.Stop(); + if(flvEncodingLogger.IsEnabled(LogLevel.Debug)) + { + long times = stopwatch.ElapsedMilliseconds; + flvEncodingLogger.LogDebug($"flv encoding {times.ToString()}ms"); + } + stopwatch.Reset(); if (flv3 == null) continue; if (jT1078HttpSessionManager.GetAll().Count() > 0) { @@ -63,9 +74,16 @@ namespace JT1078.DotNetty.TestHosting { exists.TryAdd(session.Channel.Id.AsShortText(), 0); string key = item.GetKey(); - session.SendBinaryWebSocketAsync(FlvEncoder.GetFirstFlvFrame(key, flv3)); + //ws-flv + //session.SendBinaryWebSocketAsync(FlvEncoder.GetFirstFlvFrame(key, flv3)); + //http-flv + session.SendHttpFirstChunkAsync(FlvEncoder.GetFirstFlvFrame(key, flv3)); + continue; } - session.SendBinaryWebSocketAsync(flv3); + //ws-flv + //session.SendBinaryWebSocketAsync(flv3); + //http-flv + session.SendHttpOtherChunkAsync(flv3); } } } diff --git a/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll b/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll index dc79ec3..438350e 100644 Binary files a/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll and b/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll differ