From 03fb501ad0cd9af23edb67b2e530b2506b721d58 Mon Sep 17 00:00:00 2001 From: smallchi <564952747@qq.com> Date: Fri, 18 Oct 2019 14:14:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3=202.?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 11 +++++++++-- nuget.bat | 1 + publish.bat | 5 +++++ .../JT1078.DotNetty.Core.csproj | 1 + .../JT1078.DotNetty.Http.csproj | 1 + .../JT1078.DotNetty.Tcp.csproj | 1 + .../Handlers/JT1078TcpMessageHandlers.cs | 1 + .../JT1078.DotNetty.TestHosting.csproj | 1 + .../JT1078WSFlv/index.html | 15 +++++++++++++++ .../dll/JT1078.Flv.dll | Bin 36352 -> 0 bytes .../JT1078.DotNetty.Udp.csproj | 1 + src/Version.props | 2 +- 13 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 nuget.bat create mode 100644 publish.bat delete mode 100644 src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll diff --git a/.gitignore b/.gitignore index 3e759b7..bb78718 100644 --- a/.gitignore +++ b/.gitignore @@ -328,3 +328,4 @@ ASALocalRun/ # MFractors (Xamarin productivity tool) working folder .mfractor/ +/nupkgs diff --git a/README.md b/README.md index 8e77b32..48200a7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ # JT1078DotNetty -JT1078DotNetty +## 前提条件 + +1. [熟悉JT1078协议](https://github.com/SmallChi/JT1078) +2. 了解Http Chunked编码 +3. 了解WebSocket消息推送 +4. [了解Flv.js](https://github.com/bilibili/flv.js) + +目前只支持Http-Flv、WebSocket-Flv两种方式推流,经过一小时的测试延迟在3秒这样。 ## NuGet安装 @@ -9,4 +16,4 @@ JT1078DotNetty | Install-Package JT1078.DotNetty.Core | ![JT1078.DotNetty.Core](https://img.shields.io/nuget/v/JT1078.DotNetty.Core.svg) | ![JT1078.DotNetty.Core](https://img.shields.io/nuget/dt/JT1078.DotNetty.Core.svg) | | Install-Package JT1078.DotNetty.Tcp | ![JT1078.DotNetty.Tcp](https://img.shields.io/nuget/v/JT1078.DotNetty.Tcp.svg) | ![JT1078.DotNetty.Tcp](https://img.shields.io/nuget/dt/JT1078.DotNetty.Tcp.svg) | | Install-Package JT1078.DotNetty.Udp | ![JT1078.DotNetty.Udp](https://img.shields.io/nuget/v/JT1078.DotNetty.Udp.svg) | ![JT1078.DotNetty.Udp](https://img.shields.io/nuget/dt/JT1078.DotNetty.Udp.svg) | -| Install-Package JT1078.DotNetty.WebSocket | ![JT1078.DotNetty.WebSocket](https://img.shields.io/nuget/v/JT1078.DotNetty.WebSocket.svg) | ![JT1078.DotNetty.WebSocket](https://img.shields.io/nuget/dt/JT1078.DotNetty.WebSocket.svg) | \ No newline at end of file +| Install-Package JT1078.DotNetty.Http | ![JT1078.DotNetty.Http](https://img.shields.io/nuget/v/JT1078.DotNetty.Http.svg) | ![JT1078.DotNetty.Http](https://img.shields.io/nuget/dt/JT1078.DotNetty.Http.svg) | \ No newline at end of file diff --git a/nuget.bat b/nuget.bat new file mode 100644 index 0000000..8961960 --- /dev/null +++ b/nuget.bat @@ -0,0 +1 @@ +dotnet nuget push .\nupkgs\*.nupkg -k apikey -s https://api.nuget.org/v3/index.json \ No newline at end of file diff --git a/publish.bat b/publish.bat new file mode 100644 index 0000000..60e479a --- /dev/null +++ b/publish.bat @@ -0,0 +1,5 @@ +dotnet pack .\src\JT1078.DotNetty.Core\JT1078.DotNetty.Core.csproj --no-build --output ../../nupkgs +dotnet pack .\src\JT1078.DotNetty.Http\JT1078.DotNetty.Http.csproj --no-build --output ../../nupkgs +dotnet pack .\src\JT1078.DotNetty.Tcp\JT1078.DotNetty.Tcp.csproj --no-build --output ../../nupkgs +dotnet pack .\src\JT1078.DotNetty.Udp\JT1078.DotNetty.Udp.csproj --no-build --output ../../nupkgs +pause \ No newline at end of file diff --git a/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj b/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj index e6b4ad6..d3f6502 100644 --- a/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj +++ b/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj @@ -17,6 +17,7 @@ false LICENSE true + $(JT1078DotNettyPackageVersion) diff --git a/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj b/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj index f700770..38efb53 100644 --- a/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj +++ b/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj @@ -18,6 +18,7 @@ false LICENSE true + $(JT1078DotNettyPackageVersion) diff --git a/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj b/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj index 16487bf..d96c441 100644 --- a/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj +++ b/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj @@ -17,6 +17,7 @@ false LICENSE true + $(JT1078DotNettyPackageVersion) diff --git a/src/JT1078.DotNetty.TestHosting/Handlers/JT1078TcpMessageHandlers.cs b/src/JT1078.DotNetty.TestHosting/Handlers/JT1078TcpMessageHandlers.cs index 1315fb3..97978d8 100644 --- a/src/JT1078.DotNetty.TestHosting/Handlers/JT1078TcpMessageHandlers.cs +++ b/src/JT1078.DotNetty.TestHosting/Handlers/JT1078TcpMessageHandlers.cs @@ -29,6 +29,7 @@ namespace JT1078.DotNetty.TestHosting.Handlers public Task Processor(JT1078Request request) { logger.LogInformation(JsonConvert.SerializeObject(request.Package)); + //hexLogger.LogInformation($"{request.Package.SIM},{request.Package.Label3.DataType.ToString()},{request.Package.LastFrameInterval},{request.Package.LastIFrameInterval},{request.Package.Timestamp},{request.Package.SN},{request.Package.LogicChannelNumber},{request.Package.Label3.SubpackageType.ToString()},{ByteBufferUtil.HexDump(request.Src)}"); hexLogger.LogInformation($"{request.Package.SIM},{request.Package.SN},{request.Package.LogicChannelNumber},{request.Package.Label3.DataType.ToString()},{request.Package.Label3.SubpackageType.ToString()},{ByteBufferUtil.HexDump(request.Src)}"); var mergePackage = JT1078Serializer.Merge(request.Package); if (mergePackage != null) diff --git a/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj b/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj index 4df9799..03356c3 100644 --- a/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj +++ b/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj @@ -6,6 +6,7 @@ + diff --git a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/index.html b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/index.html index 8aea9a6..6c73417 100644 --- a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/index.html +++ b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/index.html @@ -20,6 +20,21 @@ flvPlayer.attachMediaElement(player); flvPlayer.load(); flvPlayer.play(); + function componentDidMount() { + this.cleanBuff = setInterval(function () { + let buffered = player.buffered + console.log("start...") + if (buffered.length > 0) { + let end = buffered.end(0) + if (end - player.currentTime > 0.15) { + player.currentTime = end - 0.1; + console.log("exe... start") + } + } + console.log("end...") + }, 3 * 10 * 1000) + }; + componentDidMount(); } diff --git a/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll b/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll deleted file mode 100644 index 999de83dc43a740d7ea9630f5d0b9455a3c78736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36352 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 A4*&oF diff --git a/src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj b/src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj index abe7219..66f86ac 100644 --- a/src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj +++ b/src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj @@ -17,6 +17,7 @@ false LICENSE true + $(JT1078DotNettyPackageVersion) diff --git a/src/Version.props b/src/Version.props index 244968f..0ed5a35 100644 --- a/src/Version.props +++ b/src/Version.props @@ -1,5 +1,5 @@  - 1.0.0-preview2 + 1.0.0-preview3 \ No newline at end of file