* upgrade sdk * fix warnings in ersatztv.ffmpeg * fix warnings in ersatztv.core * fix warnings in ersatztv.infrastructure * fix warnings in ersatztv.application * disable analysis for migrations projects * fix warnings in ersatztv.scanner * fix warnings in ersatztv * upgrade project framework * update github actions and dockerfiles
24 lines
775 B
C#
24 lines
775 B
C#
using ErsatzTV.FFmpeg.Filter;
|
|
using ErsatzTV.FFmpeg.Format;
|
|
|
|
namespace ErsatzTV.FFmpeg.Encoder;
|
|
|
|
public class EncoderLibx265 : EncoderBase
|
|
{
|
|
private readonly FrameState _currentState;
|
|
|
|
public EncoderLibx265(FrameState currentState) => _currentState = currentState;
|
|
|
|
public override string Filter => new HardwareDownloadFilter(_currentState).Filter;
|
|
|
|
// TODO: is tag:v needed for mpegts?
|
|
public override string[] OutputOptions => new[]
|
|
{ "-c:v", Name, "-tag:v", "hvc1", "-x265-params", "log-level=error" };
|
|
|
|
public override string Name => "libx265";
|
|
public override StreamKind Kind => StreamKind.Video;
|
|
|
|
public override FrameState NextState(FrameState currentState) =>
|
|
currentState with { VideoFormat = VideoFormat.Hevc };
|
|
}
|