public void OutputAccessControlToJson() { Output output = new Output() .WithUrl(new Uri("s3://output-bucket/output-file-1-name.mp4")) .WithAccessControls( new S3Access[] { new S3Access() { Grantee = "cdc7931a9574b1055d5b76112021d0e9", Permissions = new[] { S3Permission.Read, S3Permission.Write } }, new S3Access() { Grantee = "*****@*****.**", Permissions = new[] { S3Permission.FullControl } }, new S3Access() { Grantee = "http://acs.amazonaws.com/groups/global/AllUsers", Permissions = new[] { S3Permission.Read } } }) .WithThumbnails(new Thumbnails().WithNumber(1)); CreateJobRequest request = new CreateJobRequest(Zencoder) .WithInputUrl(new Uri("s3://bucket-name/file-name.avi")) .WithOutput(output); Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, AccessControlJson, ApiKey), request.ToJson()); }
public void JobCreateJobRequestToJson() { const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""api_key"":""{0}""}}"; const string Two = @"{{""download_connections"":3,""input"":""s3://bucket-name/file-name.avi"",""region"":""asia"",""api_key"":""{0}""}}"; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "s3://bucket-name/file-name.avi" }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); request = new CreateJobRequest(Zencoder) { DownloadConnections = 3, Input = "s3://bucket-name/file-name.avi", Region = "asia" }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, Two, ApiKey), request.ToJson()); }
public void JobCreateJobRequestToJson() { const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""api_key"":""{0}""}}"; const string Two = @"{{""download_connections"":3,""input"":""s3://bucket-name/file-name.avi"",""region"":""asia"",""api_key"":""{0}""}}"; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "s3://bucket-name/file-name.avi" }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); request = new CreateJobRequest(Zencoder) { DownloadConnections = 3, Input = "s3://bucket-name/file-name.avi", Region = "asia" }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, Two, ApiKey), request.ToJson()); }
public void OutputThumbnailsToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""base_url"":""s3://bucket/directory"",""height"":120,""label"":null,""number"":6,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}"; const string Two = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""headers"":{{""x-amz-acl"":""public-read-write""}},""base_url"":""s3://bucket/directory"",""filename"":""{{{{number}}}}_{{{{width}}}}x{{{{height}}}}-thumbnail"",""height"":120,""interval_in_frames"":10,""label"":null,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}"; Thumbnails thumbs = new Thumbnails() { BaseUrl = "s3://bucket/directory", Prefix = "custom" }; Output output = new Output() { Thumbnails = new Thumbnails[] { thumbs.WithNumber(6).WithSize(160, 120) } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = new Output[] { output } }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); thumbs = thumbs.WithIntervalInFrames(10); thumbs.FileName = "{{number}}_{{width}}x{{height}}-thumbnail"; thumbs.Headers["x-amz-acl"] = "public-read-write"; output.Thumbnails = new Thumbnails[] { thumbs }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, Two, ApiKey), request.ToJson()); }
public void OutputWatermarkToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""watermarks"":[{{""height"":""24"",""url"":""s3://bucket/watermark_file.png"",""width"":""32"",""x"":""20"",""y"":""-10%""}}]}}],""api_key"":""{0}""}}"; Watermark watermark = new Watermark() { Url = "s3://bucket/watermark_file.png", X = "20", Y = "-10%" }; Output[] outputs = new Output[] { new Output().WithWatermark(watermark.WithSizeInPixels(32, 24)) }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = outputs }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputOutputToJson() { const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""outputs"":[{{""height"":320,""label"":""iPhone"",""url"":""s3://output-bucket/output-file-1-name.mp4"",""width"":480}},{{""height"":720,""label"":""WebHD"",""url"":""s3://output-bucket/output-file-2-name.mp4"",""width"":1280}}],""api_key"":""{0}""}}"; Output[] outputs = new Output[] { new Output() { Label = "iPhone", Url = "s3://output-bucket/output-file-1-name.mp4", Width = 480, Height = 320 }, new Output() { Label = "WebHD", Url = "s3://output-bucket/output-file-2-name.mp4", Width = 1280, Height = 720 } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "s3://bucket-name/file-name.avi", Outputs = outputs }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputSegmentedStreamsToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""segment_seconds"":30}},{{""type"":""playlist"",""streams"":[{{""bandwidth"":240,""path"":""low/index.m3u8""}},{{""bandwidth"":640,""path"":""high/index.m3u8""}}]}}],""api_key"":""{0}""}}"; Output output = new Output() { SegmentSeconds = 30 }; Output playlist = new Output() { OutputType = OutputType.Playlist, Streams = new PlaylistStream[] { new PlaylistStream() { Bandwidth = 240, Path = "low/index.m3u8" }, new PlaylistStream() { Bandwidth = 640, Path = "high/index.m3u8" } } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = new Output[] { output, playlist } }; Assert.AreEqual(string.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputAccessControlToJson() { Output output = new Output() .WithUrl(new Uri("s3://output-bucket/output-file-1-name.mp4")) .WithAccessControls( new S3Access[] { new S3Access() { Grantee = "cdc7931a9574b1055d5b76112021d0e9", Permissions = new[] { S3Permission.Read, S3Permission.Write } }, new S3Access() { Grantee = "*****@*****.**", Permissions = new[] { S3Permission.FullControl } }, new S3Access() { Grantee = "http://acs.amazonaws.com/groups/global/AllUsers", Permissions = new[] { S3Permission.Read } } }) .WithThumbnails(new Thumbnails().WithNumber(1)); CreateJobRequest request = new CreateJobRequest(Zencoder) .WithInputUrl(new Uri("s3://bucket-name/file-name.avi")) .WithOutput(output); Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, AccessControlJson, ApiKey), request.ToJson()); }
public void OutputThumbnailsToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""thumbnails"":[{{""base_url"":""s3://bucket/directory"",""height"":120,""number"":6,""prefix"":""custom"",""width"":160}}]}}],""api_key"":""{0}""}}"; Thumbnails thumbs = new Thumbnails() { BaseUrl = "s3://bucket/directory", Prefix = "custom" }; Output output = new Output() { Thumbnails = new Thumbnails[] { thumbs.WithNumber(6).WithSize(160, 120) } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = new Output[] { output } }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputWatermarkToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""watermarks"":[{{""height"":""24"",""url"":""s3://bucket/watermark_file.png"",""width"":""32"",""x"":""20"",""y"":""-10%""}}]}}],""api_key"":""{0}""}}"; Watermark watermark = new Watermark() { Url = "s3://bucket/watermark_file.png", X = "20", Y = "-10%" }; Output[] outputs = new Output[] { new Output().WithWatermark(watermark.WithSizeInPixels(32, 24)) }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = outputs }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputSegmentedStreamsToJson() { const string One = @"{{""input"":""http://example.com/file-name.avi"",""outputs"":[{{""segment_seconds"":30}},{{""type"":""playlist"",""streams"":[{{""bandwidth"":240,""path"":""low/index.m3u8""}},{{""bandwidth"":640,""path"":""high/index.m3u8""}}]}}],""api_key"":""{0}""}}"; Output output = new Output() { SegmentSeconds = 30 }; Output playlist = new Output() { OutputType = OutputType.Playlist, Streams = new PlaylistStream[] { new PlaylistStream() { Bandwidth = 240, Path = "low/index.m3u8" }, new PlaylistStream() { Bandwidth = 640, Path = "high/index.m3u8" } } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "http://example.com/file-name.avi", Outputs = new Output[] { output, playlist } }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }
public void OutputOutputToJson() { const string One = @"{{""input"":""s3://bucket-name/file-name.avi"",""outputs"":[{{""height"":320,""label"":""iPhone"",""url"":""s3://output-bucket/output-file-1-name.mp4"",""width"":480}},{{""height"":720,""label"":""WebHD"",""url"":""s3://output-bucket/output-file-2-name.mp4"",""width"":1280}}],""api_key"":""{0}""}}"; Output[] outputs = new Output[] { new Output() { Label = "iPhone", Url = "s3://output-bucket/output-file-1-name.mp4", Width = 480, Height = 320 }, new Output() { Label = "WebHD", Url = "s3://output-bucket/output-file-2-name.mp4", Width = 1280, Height = 720 } }; CreateJobRequest request = new CreateJobRequest(Zencoder) { Input = "s3://bucket-name/file-name.avi", Outputs = outputs }; Assert.AreEqual(String.Format(CultureInfo.InvariantCulture, One, ApiKey), request.ToJson()); }