public void DeleteJobTemplate(string projectId, string location, string templateId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the job template name. JobTemplateName name = JobTemplateName.FromProjectLocationJobTemplate(projectId, location, templateId); // Call the API. client.DeleteJobTemplate(name); }
public void DeleteJob(string projectId, string location, string jobId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the job name. JobName jobName = JobName.FromProjectLocationJob(projectId, location, jobId); // Call the API. client.DeleteJob(jobName); }
public IList <JobTemplate> ListJobTemplates(string projectId, string location) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parentLocation = new LocationName(projectId, location); // Call the API. PagedEnumerable <ListJobTemplatesResponse, JobTemplate> response = client.ListJobTemplates(parentLocation); // The returned sequence will lazily perform RPCs as it's being iterated over. return(response.ToList()); }
public Job.Types.ProcessingState GetJobState(string projectId, string location, string jobId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the job name. JobName jobName = JobName.FromProjectLocationJob(projectId, location, jobId); // Call the API. Job job = client.GetJob(jobName); // Return the result. return(job.State); }
public JobTemplate GetJobTemplate(string projectId, string location, string templateId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the job template name. JobTemplateName name = JobTemplateName.FromProjectLocationJobTemplate(projectId, location, templateId); // Call the API. JobTemplate jobTemplate = client.GetJobTemplate(name); // Return the result. return(jobTemplate); }
public Job CreateJobFromTemplate( string projectId, string location, string inputUri, string outputUri, string templateId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job. Job newJob = new Job { InputUri = inputUri, OutputUri = outputUri, TemplateId = templateId }; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return(job); }
public Job CreateJobWithStaticOverlay( string projectId, string location, string inputUri, string overlayImageUri, string outputUri) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; // Create the overlay image. Only JPEG is supported. Image resolution is based on output // video resolution. To respect the original image aspect ratio, set either x or y to 0.0. // This example stretches the overlay image the full width and half of the height of the // output video. Overlay.Types.Image overlayImage = new Overlay.Types.Image { Uri = overlayImageUri, Alpha = 1, Resolution = new Overlay.Types.NormalizedCoordinate { X = 1, Y = 0.5 } }; // Create the starting animation (when the overlay appears). Use the values x: 0 and y: 0 to // position the top-left corner of the overlay in the top-left corner of the output video. Overlay.Types.Animation animationStart = new Overlay.Types.Animation { AnimationStatic = new Overlay.Types.AnimationStatic { Xy = new Overlay.Types.NormalizedCoordinate { X = 0, Y = 0 }, StartTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(0)) } }; // Create the ending animation (when the overlay disappears). In this example, the overlay // disappears at the 10-second mark in the output video. Overlay.Types.Animation animationEnd = new Overlay.Types.Animation { AnimationEnd = new Overlay.Types.AnimationEnd { StartTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(10)) } }; // Create the overlay and add the image and animations to it. Overlay overlay = new Overlay { Image = overlayImage, Animations = { animationStart, animationEnd } }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; Input input = new Input { Key = "input0", Uri = inputUri }; Output output = new Output { Uri = outputUri }; JobConfig jobConfig = new JobConfig { Inputs = { input }, Output = output, ElementaryStreams = { elementaryStream0, elementaryStream1 }, MuxStreams = { muxStream0 }, Overlays = { overlay } }; // Build the job. Job newJob = new Job { InputUri = inputUri, OutputUri = outputUri, Config = jobConfig }; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return(job); }
public Job CreateJobWithSetNumberImagesSpritesheet( string projectId, string location, string inputUri, string outputUri) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; // Generates a 10x10 spritesheet of small images from the input video. // To preserve the source aspect ratio, you should set the // SpriteWidthPixels field or the SpriteHeightPixels field, but not // both (the API will automatically calculate the missing field). For // this sample, we don't care about the aspect ratio so we set both // fields. SpriteSheet smallSpriteSheet = new SpriteSheet { FilePrefix = SmallSpritesheetFilePrefix, SpriteHeightPixels = 32, SpriteWidthPixels = 64, ColumnCount = 10, RowCount = 10, TotalCount = 100 }; // Generates a 10x10 spritesheet of larger images from the input video. // input video. To preserve the source aspect ratio, you should set the // SpriteWidthPixels field or the SpriteHeightPixels field, but not // both (the API will automatically calculate the missing field). For // this sample, we don't care about the aspect ratio so we set both // fields. SpriteSheet largeSpriteSheet = new SpriteSheet { FilePrefix = LargeSpritesheetFilePrefix, SpriteHeightPixels = 72, SpriteWidthPixels = 128, ColumnCount = 10, RowCount = 10, TotalCount = 100 }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; Input input = new Input { Key = "input0", Uri = inputUri }; Output output = new Output { Uri = outputUri }; JobConfig jobConfig = new JobConfig { Inputs = { input }, Output = output, ElementaryStreams = { elementaryStream0, elementaryStream1 }, MuxStreams = { muxStream0 }, SpriteSheets = { smallSpriteSheet, largeSpriteSheet } }; // Build the job. Job newJob = new Job(); newJob.InputUri = inputUri; newJob.OutputUri = outputUri; newJob.Config = jobConfig; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return job; }
public Job CreateJobWithAnimatedOverlay( string projectId, string location, string inputUri, string overlayImageUri, string outputUri) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; // Create the overlay image. Only JPEG is supported. Image resolution is based on output // video resolution. This example uses the values x: 0 and y: 0 to maintain the original // resolution of the overlay image. Overlay.Types.Image overlayImage = new Overlay.Types.Image { Uri = overlayImageUri, Alpha = 1, Resolution = new Overlay.Types.NormalizedCoordinate { X = 0, Y = 0 } }; // Create the starting animation (when the overlay starts to fade in). Use the values x: 0.5 // and y: 0.5 to position the top-left corner of the overlay in the center of the output // video. Overlay.Types.Animation animationFadeIn = new Overlay.Types.Animation { AnimationFade = new Overlay.Types.AnimationFade { FadeType = Overlay.Types.FadeType.FadeIn, Xy = new Overlay.Types.NormalizedCoordinate { X = 0.5, Y = 0.5 }, StartTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(5)), EndTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(10)) } }; // Create the ending animation (when the overlay starts to fade out). The overlay will start // to fade out at the 12-second mark in the output video. Overlay.Types.Animation animationFadeOut = new Overlay.Types.Animation { AnimationFade = new Overlay.Types.AnimationFade { FadeType = Overlay.Types.FadeType.FadeOut, Xy = new Overlay.Types.NormalizedCoordinate { X = 0.5, Y = 0.5 }, StartTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(12)), EndTimeOffset = Duration.FromTimeSpan(TimeSpan.FromSeconds(15)) } }; // Create the overlay and add the image and animations to it. Overlay overlay = new Overlay { Image = overlayImage, Animations = { animationFadeIn, animationFadeOut } }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; Input input = new Input { Key = "input0", Uri = inputUri }; Output output = new Output { Uri = outputUri }; JobConfig jobConfig = new JobConfig { Inputs = { input }, Output = output, ElementaryStreams = { elementaryStream0, elementaryStream1 }, MuxStreams = { muxStream0 }, Overlays = { overlay } }; // Build the job. Job newJob = new Job { InputUri = inputUri, OutputUri = outputUri, Config = jobConfig }; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return(job); }
public JobTemplate CreateJobTemplate( string projectId, string location, string templateId) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parentLocation = new LocationName(projectId, location); // Build the job template config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; VideoStream videoStream1 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 2500000, FrameRate = 60, HeightPixels = 720, WidthPixels = 1280 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "video_stream1", VideoStream = videoStream1 }; ElementaryStream elementaryStream2 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; MuxStream muxStream1 = new MuxStream { Key = "hd", Container = "mp4", ElementaryStreams = { "video_stream1", "audio_stream0" } }; JobConfig jobConfig = new JobConfig { ElementaryStreams = { elementaryStream0, elementaryStream1, elementaryStream2 }, MuxStreams = { muxStream0, muxStream1 } }; JobTemplate newJobTemplate = new JobTemplate { Config = jobConfig }; // Call the API. JobTemplate jobTemplate = client.CreateJobTemplate(parentLocation, newJobTemplate, templateId); return(jobTemplate); }
public Job CreateJobWithConcatenatedInputs( string projectId, string location, string inputUri1, TimeSpan startTimeInput1, TimeSpan endTimeInput1, string inputUri2, TimeSpan startTimeInput2, TimeSpan endTimeInput2, string outputUri) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; Input input1 = new Input { Key = "input1", Uri = inputUri1 }; Input input2 = new Input { Key = "input2", Uri = inputUri2 }; EditAtom atom1 = new EditAtom { Key = "atom1", StartTimeOffset = Duration.FromTimeSpan(startTimeInput1), EndTimeOffset = Duration.FromTimeSpan(endTimeInput1), Inputs = { input1.Key } }; EditAtom atom2 = new EditAtom { Key = "atom2", StartTimeOffset = Duration.FromTimeSpan(startTimeInput2), EndTimeOffset = Duration.FromTimeSpan(endTimeInput2), Inputs = { input2.Key } }; Output output = new Output { Uri = outputUri }; JobConfig jobConfig = new JobConfig { Inputs = { input1, input2 }, EditList = { atom1, atom2 }, Output = output, ElementaryStreams = { elementaryStream0, elementaryStream1 }, MuxStreams = { muxStream0 } }; // Build the job. Job newJob = new Job { OutputUri = outputUri, Config = jobConfig }; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return(job); }
public Job CreateJobFromAdHoc( string projectId, string location, string inputUri, string outputUri) { // Create the client. TranscoderServiceClient client = TranscoderServiceClient.Create(); // Build the parent location name. LocationName parent = new LocationName(projectId, location); // Build the job config. VideoStream videoStream0 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 550000, FrameRate = 60, HeightPixels = 360, WidthPixels = 640 } }; VideoStream videoStream1 = new VideoStream { H264 = new VideoStream.Types.H264CodecSettings { BitrateBps = 2500000, FrameRate = 60, HeightPixels = 720, WidthPixels = 1280 } }; AudioStream audioStream0 = new AudioStream { Codec = "aac", BitrateBps = 64000 }; ElementaryStream elementaryStream0 = new ElementaryStream { Key = "video_stream0", VideoStream = videoStream0 }; ElementaryStream elementaryStream1 = new ElementaryStream { Key = "video_stream1", VideoStream = videoStream1 }; ElementaryStream elementaryStream2 = new ElementaryStream { Key = "audio_stream0", AudioStream = audioStream0 }; MuxStream muxStream0 = new MuxStream { Key = "sd", Container = "mp4", ElementaryStreams = { "video_stream0", "audio_stream0" } }; MuxStream muxStream1 = new MuxStream { Key = "hd", Container = "mp4", ElementaryStreams = { "video_stream1", "audio_stream0" } }; Input input = new Input { Key = "input0", Uri = inputUri }; Output output = new Output { Uri = outputUri }; JobConfig jobConfig = new JobConfig { Inputs = { input }, Output = output, ElementaryStreams = { elementaryStream0, elementaryStream1, elementaryStream2 }, MuxStreams = { muxStream0, muxStream1 } }; // Build the job. Job newJob = new Job { Config = jobConfig, InputUri = inputUri, OutputUri = outputUri }; // Call the API. Job job = client.CreateJob(parent, newJob); // Return the result. return(job); }