Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

26 lines
788 B

using ErsatzTV.FFmpeg.Format;
namespace ErsatzTV.FFmpeg.Encoder.VideoToolbox;
public class EncoderHevcVideoToolbox : EncoderBase
{
private readonly int _desiredBitDepth;
public EncoderHevcVideoToolbox(int desiredBitDepth) => _desiredBitDepth = desiredBitDepth;
public override string Name => "hevc_videotoolbox";
public override StreamKind Kind => StreamKind.Video;
public override string[] OutputOptions => base.OutputOptions.Concat(
new[]
{
"-profile:v",
_desiredBitDepth == 10 ? "main10" : "main"
}).ToArray();
public override FrameState NextState(FrameState currentState) => currentState with
{
VideoFormat = VideoFormat.Hevc,
FrameDataLocation = FrameDataLocation.Hardware
};
}