public static void UpgradeEncodingProfileTo24(VCProfile profile) { profile.VideoOptions = profile.X264Options; profile.VideoTunes = profile.X264Tunes; profile.VideoPreset = profile.X264Preset; profile.VideoProfile = profile.X264Profile; profile.VideoLevel = profile.H264Level; // If QSV was the old encoder and QSV is available, use the QSV preset. string videoEncoderName = profile.VideoEncoder; if (Encoders.GetVideoEncoder(videoEncoderName) == null) { if (videoEncoderName == "qsv_h264") { profile.VideoPreset = profile.QsvPreset; } } }
private static void ErrorCheckPreset(Preset preset) { // mp4v2 only available on x86 string containerName = preset.EncodingProfile.ContainerName; if (Encoders.GetContainer(containerName) == null) { if (containerName == "mp4v2") { preset.EncodingProfile.ContainerName = "av_mp4"; } } // QSV H.264 only available on systems with the right hardware. string videoEncoderName = preset.EncodingProfile.VideoEncoder; if (Encoders.GetVideoEncoder(videoEncoderName) == null) { if (videoEncoderName == "qsv_h264") { preset.EncodingProfile.VideoEncoder = "x264"; } } }