@@ -328,3 +328,4 @@ ASALocalRun/ | |||||
# MFractors (Xamarin productivity tool) working folder | # MFractors (Xamarin productivity tool) working folder | ||||
.mfractor/ | .mfractor/ | ||||
/nupkgs |
@@ -1,6 +1,13 @@ | |||||
# JT1078DotNetty | # 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安装 | ## NuGet安装 | ||||
@@ -9,4 +16,4 @@ JT1078DotNetty | |||||
| Install-Package JT1078.DotNetty.Core |  |  | | | Install-Package JT1078.DotNetty.Core |  |  | | ||||
| Install-Package JT1078.DotNetty.Tcp |  |  | | | Install-Package JT1078.DotNetty.Tcp |  |  | | ||||
| Install-Package JT1078.DotNetty.Udp |  |  | | | Install-Package JT1078.DotNetty.Udp |  |  | | ||||
| Install-Package JT1078.DotNetty.WebSocket |  |  | | |||||
| Install-Package JT1078.DotNetty.Http |  |  | |
@@ -0,0 +1 @@ | |||||
dotnet nuget push .\nupkgs\*.nupkg -k apikey -s https://api.nuget.org/v3/index.json |
@@ -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 |
@@ -17,6 +17,7 @@ | |||||
<SignAssembly>false</SignAssembly> | <SignAssembly>false</SignAssembly> | ||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<Version>$(JT1078DotNettyPackageVersion)</Version> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -18,6 +18,7 @@ | |||||
<SignAssembly>false</SignAssembly> | <SignAssembly>false</SignAssembly> | ||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<Version>$(JT1078DotNettyPackageVersion)</Version> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -17,6 +17,7 @@ | |||||
<SignAssembly>false</SignAssembly> | <SignAssembly>false</SignAssembly> | ||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<Version>$(JT1078DotNettyPackageVersion)</Version> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -29,6 +29,7 @@ namespace JT1078.DotNetty.TestHosting.Handlers | |||||
public Task<JT1078Response> Processor(JT1078Request request) | public Task<JT1078Response> Processor(JT1078Request request) | ||||
{ | { | ||||
logger.LogInformation(JsonConvert.SerializeObject(request.Package)); | 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)}"); | 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); | var mergePackage = JT1078Serializer.Merge(request.Package); | ||||
if (mergePackage != null) | if (mergePackage != null) | ||||
@@ -6,6 +6,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT1078.Flv" Version="1.0.0-preview2" /> | |||||
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" /> | <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" /> | ||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" /> | <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" /> | ||||
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.2.0" /> | <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.2.0" /> | ||||
@@ -20,6 +20,21 @@ | |||||
flvPlayer.attachMediaElement(player); | flvPlayer.attachMediaElement(player); | ||||
flvPlayer.load(); | flvPlayer.load(); | ||||
flvPlayer.play(); | 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(); | |||||
} | } | ||||
</script> | </script> | ||||
</body> | </body> |
@@ -17,6 +17,7 @@ | |||||
<SignAssembly>false</SignAssembly> | <SignAssembly>false</SignAssembly> | ||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<Version>$(JT1078DotNettyPackageVersion)</Version> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -1,5 +1,5 @@ | |||||
<Project> | <Project> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<JT1078DotNettyPackageVersion>1.0.0-preview2</JT1078DotNettyPackageVersion> | |||||
<JT1078DotNettyPackageVersion>1.0.0-preview3</JT1078DotNettyPackageVersion> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
</Project> | </Project> |