Example #1
0
        public void Process(IAsset asset)
        {
            var mediaProcessor = GetMediaProcessor(MediaProcessors.WINDOWS_AZURE_MEDIA_PACKAGER);
            var job            = mediaContext.Jobs.Create(string.Format("{0} encode video job", asset.Name));

            //TODO: Create constants for task names
            var task = job.Tasks.AddNew("Convert Media Task", mediaProcessor, @"<taskDefinition xmlns=""http://schemas.microsoft.com/iis/media/v4/TM/TaskDefinition#"">
  <name>MP4 to Smooth Streams</name>
  <id>5e1e1a1c-bba6-11df-8991-0019d1916af0</id>
  <description xml:lang=""en"">Converts MP4 files encoded with H.264 (AVC) video and AAC-LC audio codecs to Smooth Streams.</description>
  <inputFolder />
  <properties namespace=""http://schemas.microsoft.com/iis/media/V4/TM/MP4ToSmooth#"" prefix=""mp4"">
    <property name=""keepSourceNames"" required=""false"" value=""false"" helpText=""This property tells the MP4 to Smooth task to keep the original file name rather than add the bitrate bitrate information."" />
  </properties>
  <taskCode>
    <type>Microsoft.Web.Media.TransformManager.MP4toSmooth.MP4toSmooth_Task, Microsoft.Web.Media.TransformManager.MP4toSmooth, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</type>
  </taskCode>
</taskDefinition>", TaskOptions.None);

            task.InputAssets.Add(asset);
            var smoothAsset = task.OutputAssets.AddNew(string.Format("{0} smooth streaming", asset.Name), AssetCreationOptions.None);

            var thumbnailMediaProcessor = GetMediaProcessor(MediaProcessors.WINDOWS_AZURE_MEDIA_ENCODER);

            thumbnailService.GenerateThumbnail(job, smoothAsset, thumbnailMediaProcessor, 236, 177);

            job.Submit();
        }
Example #2
0
        public async Task ThumbnailsFunctionAsync(
            [EventGridTrigger] EventGridEvent eventGridEvent,
            [Blob("{data.url}", FileAccess.Read, Connection = "AzureWebJobsStorage")] Stream inputImageBlob,
            ILogger log)
        {
            try
            {
                log.LogInformation($"Event Grid Event Topic:\n {eventGridEvent.Topic}");

                log.LogInformation($"Event Grid Event Subject:\n {eventGridEvent.Subject}");

                log.LogInformation($"Event Grid Event Data:\n {eventGridEvent.Data}");

                var originalFileName = eventGridEvent.Subject.Split('/').Last();

                var thumbnailFileName = originalFileName.Insert(originalFileName.IndexOf('.'), "Thumbnail");

                log.LogInformation("Uploading the thumbnail...");

                var thumbnailStream = _thumbnailService.GenerateThumbnail(inputImageBlob);

                var thumbnailUri = await _fileStorageService
                                   .UploadStreamAsync(thumbnailStream, $"thumbnails/{thumbnailFileName}", SetMetadata(eventGridEvent))
                                   .ConfigureAwait(false);

                log.LogInformation("Thumbnail uploaded...");

                log.LogInformation($"Thumbnail Uri:\n {thumbnailUri}");
            }
            catch (Exception exc)
            {
                log.LogInformation($"Exception Generating or Uploading Image Thumbnail:\n {exc.Message}");

                log.LogInformation($"Exception StackTrace:\n {exc.StackTrace}");

                throw;
            }
        }
 public void Post([FromForm] GenerateThumbnailRequest request)
 {
     var success = service.GenerateThumbnail(request);
 }