Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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";
                }
            }
        }