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 999de83..0000000 Binary files a/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll and /dev/null differ 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