Browse Source

feat: use amf and rkmpp hw accel with next engine

pull/2883/head
Jason Dove 3 months ago
parent
commit
7c6a32ca6b
No known key found for this signature in database
  1. 2
      ErsatzTV.Application/Streaming/Commands/StartFFmpegNextSessionHandler.cs
  2. 12
      ErsatzTV.Core/Next/Config/ChannelConfig.cs
  3. 2
      ErsatzTV/ErsatzTV.csproj

2
ErsatzTV.Application/Streaming/Commands/StartFFmpegNextSessionHandler.cs

@ -338,8 +338,10 @@ public class StartFFmpegNextSessionHandler( @@ -338,8 +338,10 @@ public class StartFFmpegNextSessionHandler(
},
Accel = ffmpegProfile.HardwareAcceleration switch
{
HardwareAccelerationKind.Amf => AccelEnum.Amf,
HardwareAccelerationKind.Nvenc => AccelEnum.Cuda,
HardwareAccelerationKind.Qsv => AccelEnum.Qsv,
HardwareAccelerationKind.Rkmpp => AccelEnum.Rkmpp,
HardwareAccelerationKind.Vaapi => AccelEnum.Vaapi,
HardwareAccelerationKind.VideoToolbox => AccelEnum.Videotoolbox,
_ => null

12
ErsatzTV.Core/Next/Config/ChannelConfig.cs

@ -151,7 +151,7 @@ namespace ErsatzTV.Core.Next.Config @@ -151,7 +151,7 @@ namespace ErsatzTV.Core.Next.Config
public enum Mode { Burn, Convert };
public enum AccelEnum { Cuda, Qsv, Vaapi, Videotoolbox, Vulkan };
public enum AccelEnum { Amf, Cuda, Qsv, Rkmpp, Vaapi, Videotoolbox, Vulkan };
public enum VideoFormat { H264, Hevc };
@ -280,10 +280,14 @@ namespace ErsatzTV.Core.Next.Config @@ -280,10 +280,14 @@ namespace ErsatzTV.Core.Next.Config
var value = serializer.Deserialize<string>(reader);
switch (value)
{
case "amf":
return AccelEnum.Amf;
case "cuda":
return AccelEnum.Cuda;
case "qsv":
return AccelEnum.Qsv;
case "rkmpp":
return AccelEnum.Rkmpp;
case "vaapi":
return AccelEnum.Vaapi;
case "videotoolbox":
@ -304,12 +308,18 @@ namespace ErsatzTV.Core.Next.Config @@ -304,12 +308,18 @@ namespace ErsatzTV.Core.Next.Config
var value = (AccelEnum)untypedValue;
switch (value)
{
case AccelEnum.Amf:
serializer.Serialize(writer, "amf");
return;
case AccelEnum.Cuda:
serializer.Serialize(writer, "cuda");
return;
case AccelEnum.Qsv:
serializer.Serialize(writer, "qsv");
return;
case AccelEnum.Rkmpp:
serializer.Serialize(writer, "rkmpp");
return;
case AccelEnum.Vaapi:
serializer.Serialize(writer, "vaapi");
return;

2
ErsatzTV/ErsatzTV.csproj

@ -55,7 +55,7 @@ @@ -55,7 +55,7 @@
<PackageReference Include="MudBlazor" Version="9.4.0" />
<PackageReference Include="NaturalSort.Extension" Version="4.4.1" />
<PackageReference Include="Refit.HttpClientFactory" Version="10.1.6" />
<PackageReference Include="Scalar.AspNetCore" Version="2.14.9" />
<PackageReference Include="Scalar.AspNetCore" Version="2.14.10" />
<PackageReference Include="Serilog" Version="4.3.1" />
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="10.0.0" />

Loading…
Cancel
Save