public override void Apply(VideoWriterArgs writerArgs, FFmpegOutputOptionArgs outputOptionArgs) { outputOptionArgs.SetVideoCodec(Codecs.FFmpegVideoCodec.hevc_qsv) .AddArg("load_plugin", "hevc_hw") .AddArg("q", 2) .AddArg("preset:v", "veryfast"); }
public override void Apply(AudioWriterArgs audioWriterArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 0 (lowest) to 10 (highest) var qscale = (10 * (audioWriterArgs.AudioQuality - 1)) / 99; outputOptionArgs.SetAudioCodec(Codecs.FFmpegAudioCodec.libvorbis) .AddArg("qscale:a", qscale); }
public override void Apply(AudioWriterArgs audioWriterArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 9 (lowest) to 0 (highest) var qscale = (100 - audioWriterArgs.AudioQuality) / 11; outputOptionArgs.SetAudioCodec(Codecs.FFmpegAudioCodec.libmp3lame) .AddArg("qscale:a", qscale); }
public override void Apply(VideoWriterArgs writerArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 31 (lowest) to 1 (highest) var qscale = 31 - ((writerArgs.VideoQuality - 1) * 30) / 99; outputOptionArgs.SetVideoCodec(Codecs.FFmpegVideoCodec.libxvid) .AddArg("qscale:v", qscale); }
public override void Apply(VideoWriterArgs videoWriterArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 63 (lowest) to 4 (highest) var crf = 63 - ((videoWriterArgs.VideoQuality - 1) * 59) / 99; outputOptionArgs.SetVideoCodec(Codecs.FFmpegVideoCodec.libvpx) .AddArg("crf", crf) .SetVideoBitrate("1M"); }
public override void Apply(VideoWriterArgs videoWriterArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 63 (lowest) to 0 (highest) var crf = (63 * (100 - videoWriterArgs.VideoQuality)) / 99; outputOptionArgs.SetVideoCodec(Codecs.FFmpegVideoCodec.libvpx_vp9) .AddArg("crf", crf) .SetVideoBitrate(0); }
public override void Apply(AudioWriterArgs audioWriterArgs, FFmpegOutputOptionArgs outputOptionArgs) { // bitrate: 32k to 512k (steps of 32k) var b = 32 * (1 + (15 * (audioWriterArgs.AudioQuality - 1)) / 99); outputOptionArgs.SetAudioCodec(Codecs.FFmpegAudioCodec.aac) .AddArg("-strict -2") .SetAudioBitrate($"{b}k") ; }
public override void Apply(VideoWriterArgs writerArgs, FFmpegOutputOptionArgs outputOptionArgs) { // quality: 51 (lowest) to 0 (highest) var crf = (51 * (100 - writerArgs.VideoQuality)) / 99; outputOptionArgs.SetVideoCodec(Codecs.FFmpegVideoCodec.libx264) .AddArg("crf", crf) //"yuv420p", "yuv444p" .SetPixFormat(Formats.FFmpegPixFormat.yuv420p) //"veryslow", "slower", "slow", "medium", "fast", "faster", "veryfast", "superfast", "ultrafast" .AddArg("preset", "ultrafast"); }
public abstract void Apply(VideoWriterArgs videoWriterArgs, FFmpegOutputOptionArgs outputArgs);
public abstract void Apply(AudioWriterArgs audioWriterArgs, FFmpegOutputOptionArgs outputOptionArgs);