Ejemplo n.º 1
0
 private void buttonCustomPresetCopyEdit_Click(object sender, EventArgs e)
 {
     if (formThumbnail.ShowDialog() == DialogResult.OK)
     {
         encoderPresetThumbnail = formThumbnail.CustomSpritePreset;
     }
 }
Ejemplo n.º 2
0
        private void PresetStandardEncoder_Load(object sender, EventArgs e)
        {
            DpiUtils.InitPerMonitorDpi(this);

            // to scale the bitmap in the buttons
            HighDpiHelper.AdjustControlImagesDpiScale(panel1);

            listboxPresets.Items.Add(new Item(EncoderNamedPreset.AdaptiveStreaming, EncoderNamedPreset.AdaptiveStreaming));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.ContentAwareEncoding, EncoderNamedPreset.ContentAwareEncoding));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.ContentAwareEncodingExperimental, EncoderNamedPreset.ContentAwareEncodingExperimental));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264MultipleBitrate1080p, EncoderNamedPreset.H264MultipleBitrate1080p));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264MultipleBitrate720p, EncoderNamedPreset.H264MultipleBitrate720p));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264MultipleBitrateSD, EncoderNamedPreset.H264MultipleBitrateSD));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264SingleBitrate1080p, EncoderNamedPreset.H264SingleBitrate1080p));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264SingleBitrate720p, EncoderNamedPreset.H264SingleBitrate720p));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.H264SingleBitrateSD, EncoderNamedPreset.H264SingleBitrateSD));
            listboxPresets.Items.Add(new Item(EncoderNamedPreset.AACGoodQualityAudio, EncoderNamedPreset.AACGoodQualityAudio));

            listboxPresets.SelectedIndex = 0;

            moreinfoprofilelink.Links.Add(new LinkLabel.Link(0, moreinfoprofilelink.Text.Length, Constants.LinkMoreInfoMediaEncoderBuiltIn));

            textBoxDescription.Text = _existingTransformDesc;

            encoderPresetThumbnail = formThumbnail.CustomSpritePreset; // default thumbnail preset

            UpdateTransformLabel();
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType == Newtonsoft.Json.JsonToken.Null)
            {
                return(null);
            }

            var tokens     = Newtonsoft.Json.Linq.JToken.ReadFrom(reader);
            var targetType = tokens["@odata.type"].ToString();

            switch (targetType)
            {
            case "#Microsoft.Media.BuiltInStandardEncoderPreset":
                return(tokens.ToObject <BuiltInStandardEncoderPreset>());

            case "#Microsoft.Media.AudioAnalyzerPreset":
                return(tokens.ToObject <AudioAnalyzerPreset>());

            case "#Microsoft.Media.VideoAnalyzerPreset":
                return(tokens.ToObject <VideoAnalyzerPreset>());

            case "#Microsoft.Media.StandardEncoderPreset":
                //return tokens.ToObject<StandardEncoderPreset>();
                StandardEncoderPreset r = new StandardEncoderPreset();
                JsonConverter[]       jsonConverters = { new CodecConverter <Codec>(), new FormatConverter <Format>() };
                //r.Filters = tokens["filters"].ToObject<>;
                r.Codecs  = JsonConvert.DeserializeObject <List <Codec> >(tokens["codecs"].ToString(), jsonConverters);
                r.Formats = JsonConvert.DeserializeObject <List <Format> >(tokens["formats"].ToString(), jsonConverters);
                return(r);

            default:
                throw new NotSupportedException($"Type {targetType} is not supported in {nameof(Codec)}");
            }
        }
Ejemplo n.º 4
0
        private StandardEncoderPreset GetThumbnailPreset(int?thumbnailSpriteColumns)
        {
            StandardEncoderPreset thumbnailPreset = new StandardEncoderPreset()
            {
                Codecs = new Codec[]
                {
                    new JpgImage()
                    {
                        Start  = "0%",
                        Step   = "2%",
                        Range  = "100%",
                        Layers = new JpgLayer[]
                        {
                            new JpgLayer()
                            {
                                Height  = "10%",
                                Width   = "10%",
                                Quality = 90
                            }
                        }
                    }
                },
                Formats = new Format[]
                {
                    new JpgFormat()
                    {
                        FilenamePattern = string.Concat(Constant.Media.Thumbnail.FileNamePrefix, Constant.Media.Thumbnail.FileNameSuffix)
                    }
                }
            };

            return(thumbnailPreset);
        }
Ejemplo n.º 5
0
        private StandardEncoderPreset GetThumbnailGeneration(Image thumbnailCodec)
        {
            StandardEncoderPreset customEncoding = new StandardEncoderPreset
            {
                Codecs  = new List <Codec>(),
                Formats = new List <Format>()
            };
            JpgFormat thumbnailFormat = new JpgFormat()
            {
                FilenamePattern = string.Concat(Constant.Media.Thumbnail.FileNamePrefix, Constant.Media.Thumbnail.FileNameSuffix)
            };

            customEncoding.Codecs.Add(thumbnailCodec);
            customEncoding.Formats.Add(thumbnailFormat);
            return(customEncoding);
        }
Ejemplo n.º 6
0
        public Transform CreateTransform(string transformName, string transformDescription, MediaTransformOutput[] transformOutputs, int?thumbnailSpriteColumns)
        {
            Transform transform   = null;
            bool      defaultName = string.IsNullOrEmpty(transformName);
            List <TransformOutput> transformOutputPresets = new List <TransformOutput>();

            foreach (MediaTransformOutput transformOutput in transformOutputs)
            {
                TransformOutput transformOutputPreset;
                switch (transformOutput.TransformPreset)
                {
                case MediaTransformPreset.AdaptiveStreaming:
                    transformName = GetTransformName(defaultName, transformName, transformOutput);
                    BuiltInStandardEncoderPreset standardEncoderPreset = new BuiltInStandardEncoderPreset(EncoderNamedPreset.AdaptiveStreaming);
                    transformOutputPreset = GetTransformOutput(standardEncoderPreset, transformOutput);
                    transformOutputPresets.Add(transformOutputPreset);
                    break;

                case MediaTransformPreset.ThumbnailImages:
                    transformName = GetTransformName(defaultName, transformName, transformOutput);
                    StandardEncoderPreset thumbnailPreset = GetThumbnailPreset(thumbnailSpriteColumns);
                    transformOutputPreset = GetTransformOutput(thumbnailPreset, transformOutput);
                    transformOutputPresets.Add(transformOutputPreset);
                    break;

                case MediaTransformPreset.VideoAnalyzer:
                    transformName = GetTransformName(defaultName, transformName, transformOutput);
                    VideoAnalyzerPreset videoAnalyzerPreset = (VideoAnalyzerPreset)GetAnalyzerPreset(false);
                    transformOutputPreset = GetTransformOutput(videoAnalyzerPreset, transformOutput);
                    transformOutputPresets.Add(transformOutputPreset);
                    break;

                case MediaTransformPreset.AudioAnalyzer:
                    transformName = GetTransformName(defaultName, transformName, transformOutput);
                    AudioAnalyzerPreset audioAnalyzerPreset = (AudioAnalyzerPreset)GetAnalyzerPreset(true);
                    transformOutputPreset = GetTransformOutput(audioAnalyzerPreset, transformOutput);
                    transformOutputPresets.Add(transformOutputPreset);
                    break;
                }
            }
            if (transformOutputPresets.Count > 0)
            {
                transform = _media.Transforms.CreateOrUpdate(MediaAccount.ResourceGroupName, MediaAccount.Name, transformName, transformOutputPresets.ToArray(), transformDescription);
            }
            return(transform);
        }
Ejemplo n.º 7
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"AMS v3 Function - ConvertMesPresetJson was triggered!");

            string  requestBody = new StreamReader(req.Body).ReadToEnd();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);

            if (data.mesPresetJson == null)
            {
                return(new BadRequestObjectResult("Please pass mesPresetJson in the input object"));
            }
            string mesPresetJson = data.mesPresetJson;

            //MediaServicesConfigWrapper amsconfig = new MediaServicesConfigWrapper();
            string presetString = null;
            JToken jt           = null;

            try
            {
                //IAzureMediaServicesClient client = MediaServicesHelper.CreateMediaServicesClientAsync(amsconfig);
                JsonConverter[]       v2JsonConverters = { new MESPresentSchemaJsonConverter() };
                MESPresetSchema       v2preset         = JsonConvert.DeserializeObject <MESPresetSchema>(mesPresetJson, v2JsonConverters);
                StandardEncoderPreset v3preset         = MediaServicesHelperMES.convertMESPreset(v2preset);
                JsonConverter[]       v3JsonConverters = { new MediaServicesHelperJsonWriter(), new MediaServicesHelperTimeSpanJsonConverter() };
                presetString = JsonConvert.SerializeObject(v3preset, v3JsonConverters);
                jt           = JToken.Parse(presetString);
            }
            catch (ApiErrorException e)
            {
                log.LogError($"ERROR: AMS API call failed with error code: {e.Body.Error.Code} and message: {e.Body.Error.Message}");
                return(new BadRequestObjectResult("AMS API call error: " + e.Message + "\nError Code: " + e.Body.Error.Code + "\nMessage: " + e.Body.Error.Message));
            }
            catch (Exception e)
            {
                log.LogError($"ERROR: Exception with message: {e.Message}");
                return(new BadRequestObjectResult("Error: " + e.Message));
            }

            return((ActionResult) new OkObjectResult(new
            {
                preset = jt
            }));
        }
Ejemplo n.º 8
0
        private void ListBoxOutputs_SelectedIndexChanged(object sender, EventArgs e)
        {
            TransformOutput output = _transform.Outputs.Skip(listBoxOutputs.SelectedIndex).Take(1).FirstOrDefault();

            DGOutputs.Rows.Clear();

            DGOutputs.Rows.Add("Preset type", output.Preset.GetType().ToString());

            string presetJson;

            if (output.Preset.GetType() == typeof(BuiltInStandardEncoderPreset))
            {
                BuiltInStandardEncoderPreset pmes = (BuiltInStandardEncoderPreset)output.Preset;
                presetJson = JsonConvert.SerializeObject(pmes, Newtonsoft.Json.Formatting.Indented);
            }
            else if (output.Preset.GetType() == typeof(AudioAnalyzerPreset))
            {
                AudioAnalyzerPreset pmes = (AudioAnalyzerPreset)output.Preset;
                presetJson = JsonConvert.SerializeObject(pmes, Newtonsoft.Json.Formatting.Indented);
            }
            else if (output.Preset.GetType() == typeof(StandardEncoderPreset))
            {
                StandardEncoderPreset pmes = (StandardEncoderPreset)output.Preset;
                presetJson = JsonConvert.SerializeObject(pmes, Newtonsoft.Json.Formatting.Indented);
            }
            else if (output.Preset.GetType() == typeof(VideoAnalyzerPreset))
            {
                VideoAnalyzerPreset pmes = (VideoAnalyzerPreset)output.Preset;
                presetJson = JsonConvert.SerializeObject(pmes, Newtonsoft.Json.Formatting.Indented);
            }
            else if (output.Preset.GetType() == typeof(FaceDetectorPreset))
            {
                FaceDetectorPreset pmes = (FaceDetectorPreset)output.Preset;
                presetJson = JsonConvert.SerializeObject(pmes, Newtonsoft.Json.Formatting.Indented);
            }
            else
            {
                presetJson = JsonConvert.SerializeObject(output.Preset, Newtonsoft.Json.Formatting.Indented);
            }
            textBoxPresetJson.Text = presetJson;
            DGOutputs.Rows.Add("Relative Priority", output.RelativePriority);
        }
        private void listBoxOutputs_SelectedIndexChanged(object sender, EventArgs e)
        {
            TransformOutput output = _transform.Outputs.Skip(listBoxOutputs.SelectedIndex).Take(1).FirstOrDefault();

            DGOutputs.Rows.Clear();

            DGOutputs.Rows.Add("Preset type", output.Preset.GetType().ToString());

            if (output.Preset.GetType() == typeof(BuiltInStandardEncoderPreset))
            {
                BuiltInStandardEncoderPreset pmes = (BuiltInStandardEncoderPreset)output.Preset;
                DGOutputs.Rows.Add("Preset name", pmes.PresetName);
            }
            else if (output.Preset.GetType() == typeof(AudioAnalyzerPreset))
            {
                AudioAnalyzerPreset pmes = (AudioAnalyzerPreset)output.Preset;
                DGOutputs.Rows.Add("Audio language", pmes.AudioLanguage);
            }
            else if (output.Preset.GetType() == typeof(StandardEncoderPreset))
            {
                StandardEncoderPreset pmes = (StandardEncoderPreset)output.Preset;
                // DGOutputs.Rows.Add("Audio language", pmes.);
            }
            else if (output.Preset.GetType() == typeof(VideoAnalyzerPreset))
            {
                VideoAnalyzerPreset pmes = (VideoAnalyzerPreset)output.Preset;
                DGOutputs.Rows.Add("Audio language", pmes.AudioLanguage);
                DGOutputs.Rows.Add("Insights To Extract", pmes.InsightsToExtract);
            }
            else if (output.Preset.GetType() == typeof(FaceDetectorPreset))
            {
                FaceDetectorPreset pmes = (FaceDetectorPreset)output.Preset;
                DGOutputs.Rows.Add("Resolution", pmes.Resolution.HasValue ? pmes.Resolution.Value.ToString() : string.Empty);
            }

            DGOutputs.Rows.Add("Relative Priority", output.RelativePriority);
        }