Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        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());
        }
Ejemplo n.º 9
0
        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());
        }
Ejemplo n.º 10
0
        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());
        }
Ejemplo n.º 11
0
        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());
        }
Ejemplo n.º 12
0
        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());
        }
Ejemplo n.º 13
0
        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());
        }
Ejemplo n.º 14
0
        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());
        }