@@ -12,7 +12,7 @@ jobs: | |||||
- name: Setup .NET Core | - name: Setup .NET Core | ||||
uses: actions/setup-dotnet@master | uses: actions/setup-dotnet@master | ||||
with: | with: | ||||
dotnet-version: 3.1.101 | |||||
dotnet-version: 3.1.301 | |||||
- name: dotnet info | - name: dotnet info | ||||
run: dotnet --info | run: dotnet --info | ||||
- name: dotnet restore | - name: dotnet restore | ||||
@@ -5,10 +5,10 @@ | |||||
<TargetFramework>netcoreapp3.1</TargetFramework> | <TargetFramework>netcoreapp3.1</TargetFramework> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BenchmarkDotNet" Version="0.12.0" /> | |||||
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.12.0" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.0" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.3" /> | |||||
<PackageReference Include="BenchmarkDotNet" Version="0.12.1" /> | |||||
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.12.1" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\JT1078.Flv\JT1078.Flv.csproj" /> | <ProjectReference Include="..\JT1078.Flv\JT1078.Flv.csproj" /> | ||||
@@ -5,10 +5,16 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" /> | |||||
<PackageReference Include="xunit" Version="2.4.0" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> | |||||
<PackageReference Include="coverlet.collector" Version="1.0.1" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
<PackageReference Include="coverlet.collector" Version="1.3.0"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -259,7 +259,7 @@ namespace JT1078.Flv | |||||
byte[] aacFrameData = null; | byte[] aacFrameData = null; | ||||
switch (package.Label2.PT) | switch (package.Label2.PT) | ||||
{ | { | ||||
case Jt1078AudioType.ADPCM: | |||||
case JT1078AVType.ADPCM: | |||||
ReadOnlySpan<byte> adpcm = package.Bodies; | ReadOnlySpan<byte> adpcm = package.Bodies; | ||||
// 海思芯片编码的音频需要移除海思头,可能还有其他的海思头 | // 海思芯片编码的音频需要移除海思头,可能还有其他的海思头 | ||||
if (adpcm.StartsWith(new byte[] { 0x00, 0x01, 0x52, 0x00 })) adpcm = adpcm.Slice(4); | if (adpcm.StartsWith(new byte[] { 0x00, 0x01, 0x52, 0x00 })) adpcm = adpcm.Slice(4); | ||||
@@ -269,10 +269,10 @@ namespace JT1078.Flv | |||||
Index = adpcm[2], | Index = adpcm[2], | ||||
Reserved = adpcm[3] | Reserved = adpcm[3] | ||||
})); break; | })); break; | ||||
case Jt1078AudioType.G711A: | |||||
case JT1078AVType.G711A: | |||||
aacFrameData = faacEncoder.Encode(new G711ACodec().ToPcm(package.Bodies)); | aacFrameData = faacEncoder.Encode(new G711ACodec().ToPcm(package.Bodies)); | ||||
break; | break; | ||||
case Jt1078AudioType.AACLC: | |||||
case JT1078AVType.AACLC: | |||||
aacFrameData = package.Bodies; | aacFrameData = package.Bodies; | ||||
break; | break; | ||||
} | } | ||||
@@ -29,7 +29,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | ||||
<PackageReference Include="System.Memory" Version="4.5.3" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -42,7 +42,7 @@ | |||||
</None> | </None> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.5" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Update="Libs\libfaac.dll"> | <None Update="Libs\libfaac.dll"> | ||||
@@ -16,10 +16,16 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.ObjectPool" Version="3.1.5" /> | <PackageReference Include="Microsoft.Extensions.ObjectPool" Version="3.1.5" /> | ||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" /> | |||||
<PackageReference Include="xunit" Version="2.4.0" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> | |||||
<PackageReference Include="coverlet.collector" Version="1.2.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
<PackageReference Include="coverlet.collector" Version="1.3.0"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -39,7 +39,7 @@ namespace JT1078.Hls.Test | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
Assert.Throws<Exception>(() => { }); | |||||
//Assert.Throws<Exception>(() => { }); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -21,7 +21,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | ||||
<PackageReference Include="System.Memory" Version="4.5.3" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -19,7 +19,7 @@ namespace JT1078.Hls | |||||
public M3U8FileManage(M3U8Option m3U8Option) | public M3U8FileManage(M3U8Option m3U8Option) | ||||
{ | { | ||||
this.m3U8Option = m3U8Option; | this.m3U8Option = m3U8Option; | ||||
AppendM3U8Start(m3U8Option.TsFileMaxSecond, m3U8Option.TsFileCount); | |||||
//AppendM3U8Start(m3U8Option.TsFileMaxSecond, m3U8Option.TsFileCount); | |||||
} | } | ||||
public void CreateM3U8File(JT1078Package fullpackage,byte[] data) | public void CreateM3U8File(JT1078Package fullpackage,byte[] data) | ||||
@@ -9,10 +9,10 @@ | |||||
<Optimize>true</Optimize> | <Optimize>true</Optimize> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BenchmarkDotNet" Version="0.12.0" /> | |||||
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.12.0" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.0" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.3" /> | |||||
<PackageReference Include="BenchmarkDotNet" Version="0.12.1" /> | |||||
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.12.1" /> | |||||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | |||||
<PackageReference Include="System.Memory" Version="4.5.4" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\JT1078.Flv.Benchmark\JT1078.Flv.Benchmark.csproj" /> | <ProjectReference Include="..\JT1078.Flv.Benchmark\JT1078.Flv.Benchmark.csproj" /> | ||||
@@ -7,10 +7,13 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.0.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.0" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> | |||||
<PackageReference Include="JT808" Version="2.2.10" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -297,7 +297,7 @@ namespace JT1078.Protocol.Test | |||||
JT1078Label2 label2 = new JT1078Label2(0, 28); | JT1078Label2 label2 = new JT1078Label2(0, 28); | ||||
Assert.Equal(28, label2.ToByte()); | Assert.Equal(28, label2.ToByte()); | ||||
Assert.Equal(0, label2.M); | Assert.Equal(0, label2.M); | ||||
Assert.Equal(Jt1078AudioType.AMR, label2.PT); | |||||
Assert.Equal(JT1078AVType.AMR, label2.PT); | |||||
} | } | ||||
[Fact] | [Fact] | ||||
@@ -5,10 +5,11 @@ using System.Text; | |||||
namespace JT1078.Protocol.Enums | namespace JT1078.Protocol.Enums | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 音频类型 | |||||
/// 音视频类型 | |||||
/// </summary> | /// </summary> | ||||
public enum Jt1078AudioType : byte | |||||
public enum JT1078AVType : byte | |||||
{ | { | ||||
保留=0, | |||||
G721 = 1, | G721 = 1, | ||||
G722 = 2, | G722 = 2, | ||||
G723 = 3, | G723 = 3, | ||||
@@ -36,6 +37,11 @@ namespace JT1078.Protocol.Enums | |||||
MP3 = 25, | MP3 = 25, | ||||
ADPCM = 26, | ADPCM = 26, | ||||
MP4AUDIO = 27, | MP4AUDIO = 27, | ||||
AMR = 28 | |||||
AMR = 28, | |||||
透传=91, | |||||
H264=98, | |||||
H265=99, | |||||
AVS=100, | |||||
SVAC=101 | |||||
} | } | ||||
} | } |
@@ -13,7 +13,7 @@ namespace JT1078.Protocol | |||||
public JT1078Label2(byte value) | public JT1078Label2(byte value) | ||||
{ | { | ||||
M = (byte)(value >> 7); | M = (byte)(value >> 7); | ||||
PT = (Jt1078AudioType)(value & 0x7f); | |||||
PT = (JT1078AVType)(value & 0x7f); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -21,7 +21,7 @@ namespace JT1078.Protocol | |||||
/// </summary> | /// </summary> | ||||
/// <param name="m">0-1</param> | /// <param name="m">0-1</param> | ||||
/// <param name="pt">0-127</param> | /// <param name="pt">0-127</param> | ||||
public JT1078Label2(byte m, Jt1078AudioType pt) | |||||
public JT1078Label2(byte m, JT1078AVType pt) | |||||
{ | { | ||||
M = m; | M = m; | ||||
PT = pt; | PT = pt; | ||||
@@ -35,7 +35,7 @@ namespace JT1078.Protocol | |||||
public JT1078Label2(byte m,byte pt) | public JT1078Label2(byte m,byte pt) | ||||
{ | { | ||||
M = m; | M = m; | ||||
PT = (Jt1078AudioType)pt; | |||||
PT = (JT1078AVType)pt; | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -46,7 +46,7 @@ namespace JT1078.Protocol | |||||
/// PT - 7 - 负载类型 | /// PT - 7 - 负载类型 | ||||
/// 用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等 | /// 用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等 | ||||
/// </summary> | /// </summary> | ||||
public Jt1078AudioType PT { get; set; } | |||||
public JT1078AVType PT { get; set; } | |||||
public byte ToByte() | public byte ToByte() | ||||
{ | { | ||||
@@ -5,11 +5,11 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.3" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.3" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.5" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | <PackageReference Include="xunit" Version="2.4.1" /> | ||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2"> | |||||
<PrivateAssets>all</PrivateAssets> | <PrivateAssets>all</PrivateAssets> | ||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||
</PackageReference> | </PackageReference> | ||||
@@ -6,9 +6,9 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808.DotNetty.WebApiClientTool" Version="2.2.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.2.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" /> | |||||
<PackageReference Include="JT808.DotNetty.WebApiClientTool" Version="2.3.2" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.5" /> | |||||
<PackageReference Include="WebApiClient.Extensions.DependencyInjection" Version="2.0.3" /> | <PackageReference Include="WebApiClient.Extensions.DependencyInjection" Version="2.0.3" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -5,10 +5,10 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.3" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.5" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | ||||
<PackageReference Include="xunit" Version="2.4.1" /> | <PackageReference Include="xunit" Version="2.4.1" /> | ||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2"> | |||||
<PrivateAssets>all</PrivateAssets> | <PrivateAssets>all</PrivateAssets> | ||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||
</PackageReference> | </PackageReference> | ||||