line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Paws::ElasticTranscoder::VideoParameters; |
2
|
1
|
|
|
1
|
|
560
|
use Moose; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
9
|
|
3
|
|
|
|
|
|
|
has AspectRatio => (is => 'ro', isa => 'Str'); |
4
|
|
|
|
|
|
|
has BitRate => (is => 'ro', isa => 'Str'); |
5
|
|
|
|
|
|
|
has Codec => (is => 'ro', isa => 'Str'); |
6
|
|
|
|
|
|
|
has CodecOptions => (is => 'ro', isa => 'Paws::ElasticTranscoder::CodecOptions'); |
7
|
|
|
|
|
|
|
has DisplayAspectRatio => (is => 'ro', isa => 'Str'); |
8
|
|
|
|
|
|
|
has FixedGOP => (is => 'ro', isa => 'Str'); |
9
|
|
|
|
|
|
|
has FrameRate => (is => 'ro', isa => 'Str'); |
10
|
|
|
|
|
|
|
has KeyframesMaxDist => (is => 'ro', isa => 'Str'); |
11
|
|
|
|
|
|
|
has MaxFrameRate => (is => 'ro', isa => 'Str'); |
12
|
|
|
|
|
|
|
has MaxHeight => (is => 'ro', isa => 'Str'); |
13
|
|
|
|
|
|
|
has MaxWidth => (is => 'ro', isa => 'Str'); |
14
|
|
|
|
|
|
|
has PaddingPolicy => (is => 'ro', isa => 'Str'); |
15
|
|
|
|
|
|
|
has Resolution => (is => 'ro', isa => 'Str'); |
16
|
|
|
|
|
|
|
has SizingPolicy => (is => 'ro', isa => 'Str'); |
17
|
|
|
|
|
|
|
has Watermarks => (is => 'ro', isa => 'ArrayRef[Paws::ElasticTranscoder::PresetWatermark]'); |
18
|
|
|
|
|
|
|
1; |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
### main pod documentation begin ### |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
=head1 NAME |
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
Paws::ElasticTranscoder::VideoParameters |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
=head1 USAGE |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
This class represents one of two things: |
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
=head3 Arguments in a call to a service |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. |
33
|
|
|
|
|
|
|
Each attribute should be used as a named argument in the calls that expect this type of object. |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
As an example, if Att1 is expected to be a Paws::ElasticTranscoder::VideoParameters object: |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
$service_obj->Method(Att1 => { AspectRatio => $value, ..., Watermarks => $value }); |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
=head3 Results returned from an API call |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
Use accessors for each attribute. If Att1 is expected to be an Paws::ElasticTranscoder::VideoParameters object: |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
$result = $service_obj->Method(...); |
44
|
|
|
|
|
|
|
$result->Att1->AspectRatio |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
=head1 DESCRIPTION |
47
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
The C<VideoParameters> structure. |
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
=head1 ATTRIBUTES |
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
=head2 AspectRatio => Str |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
To better control resolution and aspect ratio of output videos, we |
56
|
|
|
|
|
|
|
recommend that you use the values C<MaxWidth>, C<MaxHeight>, |
57
|
|
|
|
|
|
|
C<SizingPolicy>, C<PaddingPolicy>, and C<DisplayAspectRatio> instead of |
58
|
|
|
|
|
|
|
C<Resolution> and C<AspectRatio>. The two groups of settings are |
59
|
|
|
|
|
|
|
mutually exclusive. Do not use them together. |
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
The display aspect ratio of the video in the output file. Valid values |
62
|
|
|
|
|
|
|
include: |
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
C<auto>, C<1:1>, C<4:3>, C<3:2>, C<16:9> |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
If you specify C<auto>, Elastic Transcoder tries to preserve the aspect |
67
|
|
|
|
|
|
|
ratio of the input file. |
68
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
If you specify an aspect ratio for the output file that differs from |
70
|
|
|
|
|
|
|
aspect ratio of the input file, Elastic Transcoder adds pillarboxing |
71
|
|
|
|
|
|
|
(black bars on the sides) or letterboxing (black bars on the top and |
72
|
|
|
|
|
|
|
bottom) to maintain the aspect ratio of the active region of the video. |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
=head2 BitRate => Str |
76
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
The bit rate of the video stream in the output file, in |
78
|
|
|
|
|
|
|
kilobits/second. Valid values depend on the values of C<Level> and |
79
|
|
|
|
|
|
|
C<Profile>. If you specify C<auto>, Elastic Transcoder uses the |
80
|
|
|
|
|
|
|
detected bit rate of the input source. If you specify a value other |
81
|
|
|
|
|
|
|
than C<auto>, we recommend that you specify a value less than or equal |
82
|
|
|
|
|
|
|
to the maximum H.264-compliant value listed for your level and profile: |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
I<Level - Maximum video bit rate in kilobits/second (baseline and main |
85
|
|
|
|
|
|
|
Profile) : maximum video bit rate in kilobits/second (high Profile)> |
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
=over |
88
|
|
|
|
|
|
|
|
89
|
|
|
|
|
|
|
=item * |
90
|
|
|
|
|
|
|
|
91
|
|
|
|
|
|
|
1 - 64 : 80 |
92
|
|
|
|
|
|
|
|
93
|
|
|
|
|
|
|
=item * |
94
|
|
|
|
|
|
|
|
95
|
|
|
|
|
|
|
1b - 128 : 160 |
96
|
|
|
|
|
|
|
|
97
|
|
|
|
|
|
|
=item * |
98
|
|
|
|
|
|
|
|
99
|
|
|
|
|
|
|
1.1 - 192 : 240 |
100
|
|
|
|
|
|
|
|
101
|
|
|
|
|
|
|
=item * |
102
|
|
|
|
|
|
|
|
103
|
|
|
|
|
|
|
1.2 - 384 : 480 |
104
|
|
|
|
|
|
|
|
105
|
|
|
|
|
|
|
=item * |
106
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
1.3 - 768 : 960 |
108
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
=item * |
110
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
2 - 2000 : 2500 |
112
|
|
|
|
|
|
|
|
113
|
|
|
|
|
|
|
=item * |
114
|
|
|
|
|
|
|
|
115
|
|
|
|
|
|
|
3 - 10000 : 12500 |
116
|
|
|
|
|
|
|
|
117
|
|
|
|
|
|
|
=item * |
118
|
|
|
|
|
|
|
|
119
|
|
|
|
|
|
|
3.1 - 14000 : 17500 |
120
|
|
|
|
|
|
|
|
121
|
|
|
|
|
|
|
=item * |
122
|
|
|
|
|
|
|
|
123
|
|
|
|
|
|
|
3.2 - 20000 : 25000 |
124
|
|
|
|
|
|
|
|
125
|
|
|
|
|
|
|
=item * |
126
|
|
|
|
|
|
|
|
127
|
|
|
|
|
|
|
4 - 20000 : 25000 |
128
|
|
|
|
|
|
|
|
129
|
|
|
|
|
|
|
=item * |
130
|
|
|
|
|
|
|
|
131
|
|
|
|
|
|
|
4.1 - 50000 : 62500 |
132
|
|
|
|
|
|
|
|
133
|
|
|
|
|
|
|
=back |
134
|
|
|
|
|
|
|
|
135
|
|
|
|
|
|
|
|
136
|
|
|
|
|
|
|
|
137
|
|
|
|
|
|
|
=head2 Codec => Str |
138
|
|
|
|
|
|
|
|
139
|
|
|
|
|
|
|
The video codec for the output file. Valid values include C<gif>, |
140
|
|
|
|
|
|
|
C<H.264>, C<mpeg2>, C<vp8>, and C<vp9>. You can only specify C<vp8> and |
141
|
|
|
|
|
|
|
C<vp9> when the container type is C<webm>, C<gif> when the container |
142
|
|
|
|
|
|
|
type is C<gif>, and C<mpeg2> when the container type is C<mpg>. |
143
|
|
|
|
|
|
|
|
144
|
|
|
|
|
|
|
|
145
|
|
|
|
|
|
|
=head2 CodecOptions => L<Paws::ElasticTranscoder::CodecOptions> |
146
|
|
|
|
|
|
|
|
147
|
|
|
|
|
|
|
B<Profile (H.264/VP8/VP9 Only)> |
148
|
|
|
|
|
|
|
|
149
|
|
|
|
|
|
|
The H.264 profile that you want to use for the output file. Elastic |
150
|
|
|
|
|
|
|
Transcoder supports the following profiles: |
151
|
|
|
|
|
|
|
|
152
|
|
|
|
|
|
|
=over |
153
|
|
|
|
|
|
|
|
154
|
|
|
|
|
|
|
=item * |
155
|
|
|
|
|
|
|
|
156
|
|
|
|
|
|
|
C<baseline>: The profile most commonly used for videoconferencing and |
157
|
|
|
|
|
|
|
for mobile applications. |
158
|
|
|
|
|
|
|
|
159
|
|
|
|
|
|
|
=item * |
160
|
|
|
|
|
|
|
|
161
|
|
|
|
|
|
|
C<main>: The profile used for standard-definition digital TV |
162
|
|
|
|
|
|
|
broadcasts. |
163
|
|
|
|
|
|
|
|
164
|
|
|
|
|
|
|
=item * |
165
|
|
|
|
|
|
|
|
166
|
|
|
|
|
|
|
C<high>: The profile used for high-definition digital TV broadcasts and |
167
|
|
|
|
|
|
|
for Blu-ray discs. |
168
|
|
|
|
|
|
|
|
169
|
|
|
|
|
|
|
=back |
170
|
|
|
|
|
|
|
|
171
|
|
|
|
|
|
|
B<Level (H.264 Only)> |
172
|
|
|
|
|
|
|
|
173
|
|
|
|
|
|
|
The H.264 level that you want to use for the output file. Elastic |
174
|
|
|
|
|
|
|
Transcoder supports the following levels: |
175
|
|
|
|
|
|
|
|
176
|
|
|
|
|
|
|
C<1>, C<1b>, C<1.1>, C<1.2>, C<1.3>, C<2>, C<2.1>, C<2.2>, C<3>, |
177
|
|
|
|
|
|
|
C<3.1>, C<3.2>, C<4>, C<4.1> |
178
|
|
|
|
|
|
|
|
179
|
|
|
|
|
|
|
B<MaxReferenceFrames (H.264 Only)> |
180
|
|
|
|
|
|
|
|
181
|
|
|
|
|
|
|
Applicable only when the value of Video:Codec is H.264. The maximum |
182
|
|
|
|
|
|
|
number of previously decoded frames to use as a reference for decoding |
183
|
|
|
|
|
|
|
future frames. Valid values are integers 0 through 16, but we recommend |
184
|
|
|
|
|
|
|
that you not use a value greater than the following: |
185
|
|
|
|
|
|
|
|
186
|
|
|
|
|
|
|
C<Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / |
187
|
|
|
|
|
|
|
(Width in pixels * Height in pixels)), 16)> |
188
|
|
|
|
|
|
|
|
189
|
|
|
|
|
|
|
where I<Width in pixels> and I<Height in pixels> represent either |
190
|
|
|
|
|
|
|
MaxWidth and MaxHeight, or Resolution. I<Maximum decoded picture buffer |
191
|
|
|
|
|
|
|
in macroblocks> depends on the value of the C<Level> object. See the |
192
|
|
|
|
|
|
|
list below. (A macroblock is a block of pixels measuring 16x16.) |
193
|
|
|
|
|
|
|
|
194
|
|
|
|
|
|
|
=over |
195
|
|
|
|
|
|
|
|
196
|
|
|
|
|
|
|
=item * |
197
|
|
|
|
|
|
|
|
198
|
|
|
|
|
|
|
1 - 396 |
199
|
|
|
|
|
|
|
|
200
|
|
|
|
|
|
|
=item * |
201
|
|
|
|
|
|
|
|
202
|
|
|
|
|
|
|
1b - 396 |
203
|
|
|
|
|
|
|
|
204
|
|
|
|
|
|
|
=item * |
205
|
|
|
|
|
|
|
|
206
|
|
|
|
|
|
|
1.1 - 900 |
207
|
|
|
|
|
|
|
|
208
|
|
|
|
|
|
|
=item * |
209
|
|
|
|
|
|
|
|
210
|
|
|
|
|
|
|
1.2 - 2376 |
211
|
|
|
|
|
|
|
|
212
|
|
|
|
|
|
|
=item * |
213
|
|
|
|
|
|
|
|
214
|
|
|
|
|
|
|
1.3 - 2376 |
215
|
|
|
|
|
|
|
|
216
|
|
|
|
|
|
|
=item * |
217
|
|
|
|
|
|
|
|
218
|
|
|
|
|
|
|
2 - 2376 |
219
|
|
|
|
|
|
|
|
220
|
|
|
|
|
|
|
=item * |
221
|
|
|
|
|
|
|
|
222
|
|
|
|
|
|
|
2.1 - 4752 |
223
|
|
|
|
|
|
|
|
224
|
|
|
|
|
|
|
=item * |
225
|
|
|
|
|
|
|
|
226
|
|
|
|
|
|
|
2.2 - 8100 |
227
|
|
|
|
|
|
|
|
228
|
|
|
|
|
|
|
=item * |
229
|
|
|
|
|
|
|
|
230
|
|
|
|
|
|
|
3 - 8100 |
231
|
|
|
|
|
|
|
|
232
|
|
|
|
|
|
|
=item * |
233
|
|
|
|
|
|
|
|
234
|
|
|
|
|
|
|
3.1 - 18000 |
235
|
|
|
|
|
|
|
|
236
|
|
|
|
|
|
|
=item * |
237
|
|
|
|
|
|
|
|
238
|
|
|
|
|
|
|
3.2 - 20480 |
239
|
|
|
|
|
|
|
|
240
|
|
|
|
|
|
|
=item * |
241
|
|
|
|
|
|
|
|
242
|
|
|
|
|
|
|
4 - 32768 |
243
|
|
|
|
|
|
|
|
244
|
|
|
|
|
|
|
=item * |
245
|
|
|
|
|
|
|
|
246
|
|
|
|
|
|
|
4.1 - 32768 |
247
|
|
|
|
|
|
|
|
248
|
|
|
|
|
|
|
=back |
249
|
|
|
|
|
|
|
|
250
|
|
|
|
|
|
|
B<MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)> |
251
|
|
|
|
|
|
|
|
252
|
|
|
|
|
|
|
The maximum number of bits per second in a video buffer; the size of |
253
|
|
|
|
|
|
|
the buffer is specified by C<BufferSize>. Specify a value between 16 |
254
|
|
|
|
|
|
|
and 62,500. You can reduce the bandwidth required to stream a video by |
255
|
|
|
|
|
|
|
reducing the maximum bit rate, but this also reduces the quality of the |
256
|
|
|
|
|
|
|
video. |
257
|
|
|
|
|
|
|
|
258
|
|
|
|
|
|
|
B<BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)> |
259
|
|
|
|
|
|
|
|
260
|
|
|
|
|
|
|
The maximum number of bits in any x seconds of the output video. This |
261
|
|
|
|
|
|
|
window is commonly 10 seconds, the standard segment duration when |
262
|
|
|
|
|
|
|
you're using FMP4 or MPEG-TS for the container type of the output |
263
|
|
|
|
|
|
|
video. Specify an integer greater than 0. If you specify C<MaxBitRate> |
264
|
|
|
|
|
|
|
and omit C<BufferSize>, Elastic Transcoder sets C<BufferSize> to 10 |
265
|
|
|
|
|
|
|
times the value of C<MaxBitRate>. |
266
|
|
|
|
|
|
|
|
267
|
|
|
|
|
|
|
B<InterlacedMode (Optional, H.264/MPEG2 Only)> |
268
|
|
|
|
|
|
|
|
269
|
|
|
|
|
|
|
The interlace mode for the output video. |
270
|
|
|
|
|
|
|
|
271
|
|
|
|
|
|
|
Interlaced video is used to double the perceived frame rate for a video |
272
|
|
|
|
|
|
|
by interlacing two fields (one field on every other line, the other |
273
|
|
|
|
|
|
|
field on the other lines) so that the human eye registers multiple |
274
|
|
|
|
|
|
|
pictures per frame. Interlacing reduces the bandwidth required for |
275
|
|
|
|
|
|
|
transmitting a video, but can result in blurred images and flickering. |
276
|
|
|
|
|
|
|
|
277
|
|
|
|
|
|
|
Valid values include C<Progressive> (no interlacing, top to bottom), |
278
|
|
|
|
|
|
|
C<TopFirst> (top field first), C<BottomFirst> (bottom field first), and |
279
|
|
|
|
|
|
|
C<Auto>. |
280
|
|
|
|
|
|
|
|
281
|
|
|
|
|
|
|
If C<InterlaceMode> is not specified, Elastic Transcoder uses |
282
|
|
|
|
|
|
|
C<Progressive> for the output. If C<Auto> is specified, Elastic |
283
|
|
|
|
|
|
|
Transcoder interlaces the output. |
284
|
|
|
|
|
|
|
|
285
|
|
|
|
|
|
|
B<ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)> |
286
|
|
|
|
|
|
|
|
287
|
|
|
|
|
|
|
The color space conversion Elastic Transcoder applies to the output |
288
|
|
|
|
|
|
|
video. Color spaces are the algorithms used by the computer to store |
289
|
|
|
|
|
|
|
information about how to render color. C<Bt.601> is the standard for |
290
|
|
|
|
|
|
|
standard definition video, while C<Bt.709> is the standard for high |
291
|
|
|
|
|
|
|
definition video. |
292
|
|
|
|
|
|
|
|
293
|
|
|
|
|
|
|
Valid values include C<None>, C<Bt709toBt601>, C<Bt601toBt709>, and |
294
|
|
|
|
|
|
|
C<Auto>. |
295
|
|
|
|
|
|
|
|
296
|
|
|
|
|
|
|
If you chose C<Auto> for C<ColorSpaceConversionMode> and your output is |
297
|
|
|
|
|
|
|
interlaced, your frame rate is one of C<23.97>, C<24>, C<25>, C<29.97>, |
298
|
|
|
|
|
|
|
C<50>, or C<60>, your C<SegmentDuration> is null, and you are using one |
299
|
|
|
|
|
|
|
of the resolution changes from the list below, Elastic Transcoder |
300
|
|
|
|
|
|
|
applies the following color space conversions: |
301
|
|
|
|
|
|
|
|
302
|
|
|
|
|
|
|
=over |
303
|
|
|
|
|
|
|
|
304
|
|
|
|
|
|
|
=item * |
305
|
|
|
|
|
|
|
|
306
|
|
|
|
|
|
|
I<Standard to HD, 720x480 to 1920x1080> - Elastic Transcoder applies |
307
|
|
|
|
|
|
|
C<Bt601ToBt709> |
308
|
|
|
|
|
|
|
|
309
|
|
|
|
|
|
|
=item * |
310
|
|
|
|
|
|
|
|
311
|
|
|
|
|
|
|
I<Standard to HD, 720x576 to 1920x1080> - Elastic Transcoder applies |
312
|
|
|
|
|
|
|
C<Bt601ToBt709> |
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
=item * |
315
|
|
|
|
|
|
|
|
316
|
|
|
|
|
|
|
I<HD to Standard, 1920x1080 to 720x480> - Elastic Transcoder applies |
317
|
|
|
|
|
|
|
C<Bt709ToBt601> |
318
|
|
|
|
|
|
|
|
319
|
|
|
|
|
|
|
=item * |
320
|
|
|
|
|
|
|
|
321
|
|
|
|
|
|
|
I<HD to Standard, 1920x1080 to 720x576> - Elastic Transcoder applies |
322
|
|
|
|
|
|
|
C<Bt709ToBt601> |
323
|
|
|
|
|
|
|
|
324
|
|
|
|
|
|
|
=back |
325
|
|
|
|
|
|
|
|
326
|
|
|
|
|
|
|
Elastic Transcoder may change the behavior of the |
327
|
|
|
|
|
|
|
C<ColorspaceConversionMode> C<Auto> mode in the future. All outputs in |
328
|
|
|
|
|
|
|
a playlist must use the same C<ColorSpaceConversionMode>. |
329
|
|
|
|
|
|
|
|
330
|
|
|
|
|
|
|
If you do not specify a C<ColorSpaceConversionMode>, Elastic Transcoder |
331
|
|
|
|
|
|
|
does not change the color space of a file. If you are unsure what |
332
|
|
|
|
|
|
|
C<ColorSpaceConversionMode> was applied to your output file, you can |
333
|
|
|
|
|
|
|
check the C<AppliedColorSpaceConversion> parameter included in your job |
334
|
|
|
|
|
|
|
response. If your job does not have an C<AppliedColorSpaceConversion> |
335
|
|
|
|
|
|
|
in its response, no C<ColorSpaceConversionMode> was applied. |
336
|
|
|
|
|
|
|
|
337
|
|
|
|
|
|
|
B<ChromaSubsampling> |
338
|
|
|
|
|
|
|
|
339
|
|
|
|
|
|
|
The sampling pattern for the chroma (color) channels of the output |
340
|
|
|
|
|
|
|
video. Valid values include C<yuv420p> and C<yuv422p>. |
341
|
|
|
|
|
|
|
|
342
|
|
|
|
|
|
|
C<yuv420p> samples the chroma information of every other horizontal and |
343
|
|
|
|
|
|
|
every other vertical line, C<yuv422p> samples the color information of |
344
|
|
|
|
|
|
|
every horizontal line and every other vertical line. |
345
|
|
|
|
|
|
|
|
346
|
|
|
|
|
|
|
B<LoopCount (Gif Only)> |
347
|
|
|
|
|
|
|
|
348
|
|
|
|
|
|
|
The number of times you want the output gif to loop. Valid values |
349
|
|
|
|
|
|
|
include C<Infinite> and integers between C<0> and C<100>, inclusive. |
350
|
|
|
|
|
|
|
|
351
|
|
|
|
|
|
|
|
352
|
|
|
|
|
|
|
=head2 DisplayAspectRatio => Str |
353
|
|
|
|
|
|
|
|
354
|
|
|
|
|
|
|
The value that Elastic Transcoder adds to the metadata in the output |
355
|
|
|
|
|
|
|
file. |
356
|
|
|
|
|
|
|
|
357
|
|
|
|
|
|
|
|
358
|
|
|
|
|
|
|
=head2 FixedGOP => Str |
359
|
|
|
|
|
|
|
|
360
|
|
|
|
|
|
|
Applicable only when the value of Video:Codec is one of C<H.264>, |
361
|
|
|
|
|
|
|
C<MPEG2>, or C<VP8>. |
362
|
|
|
|
|
|
|
|
363
|
|
|
|
|
|
|
Whether to use a fixed value for C<FixedGOP>. Valid values are C<true> |
364
|
|
|
|
|
|
|
and C<false>: |
365
|
|
|
|
|
|
|
|
366
|
|
|
|
|
|
|
=over |
367
|
|
|
|
|
|
|
|
368
|
|
|
|
|
|
|
=item * |
369
|
|
|
|
|
|
|
|
370
|
|
|
|
|
|
|
C<true>: Elastic Transcoder uses the value of C<KeyframesMaxDist> for |
371
|
|
|
|
|
|
|
the distance between key frames (the number of frames in a group of |
372
|
|
|
|
|
|
|
pictures, or GOP). |
373
|
|
|
|
|
|
|
|
374
|
|
|
|
|
|
|
=item * |
375
|
|
|
|
|
|
|
|
376
|
|
|
|
|
|
|
C<false>: The distance between key frames can vary. |
377
|
|
|
|
|
|
|
|
378
|
|
|
|
|
|
|
=back |
379
|
|
|
|
|
|
|
|
380
|
|
|
|
|
|
|
C<FixedGOP> must be set to C<true> for C<fmp4> containers. |
381
|
|
|
|
|
|
|
|
382
|
|
|
|
|
|
|
|
383
|
|
|
|
|
|
|
=head2 FrameRate => Str |
384
|
|
|
|
|
|
|
|
385
|
|
|
|
|
|
|
The frames per second for the video stream in the output file. Valid |
386
|
|
|
|
|
|
|
values include: |
387
|
|
|
|
|
|
|
|
388
|
|
|
|
|
|
|
C<auto>, C<10>, C<15>, C<23.97>, C<24>, C<25>, C<29.97>, C<30>, C<60> |
389
|
|
|
|
|
|
|
|
390
|
|
|
|
|
|
|
If you specify C<auto>, Elastic Transcoder uses the detected frame rate |
391
|
|
|
|
|
|
|
of the input source. If you specify a frame rate, we recommend that you |
392
|
|
|
|
|
|
|
perform the following calculation: |
393
|
|
|
|
|
|
|
|
394
|
|
|
|
|
|
|
C<Frame rate = maximum recommended decoding speed in luma |
395
|
|
|
|
|
|
|
samples/second / (width in pixels * height in pixels)> |
396
|
|
|
|
|
|
|
|
397
|
|
|
|
|
|
|
where: |
398
|
|
|
|
|
|
|
|
399
|
|
|
|
|
|
|
=over |
400
|
|
|
|
|
|
|
|
401
|
|
|
|
|
|
|
=item * |
402
|
|
|
|
|
|
|
|
403
|
|
|
|
|
|
|
I<width in pixels> and I<height in pixels> represent the Resolution of |
404
|
|
|
|
|
|
|
the output video. |
405
|
|
|
|
|
|
|
|
406
|
|
|
|
|
|
|
=item * |
407
|
|
|
|
|
|
|
|
408
|
|
|
|
|
|
|
I<maximum recommended decoding speed in Luma samples/second> is less |
409
|
|
|
|
|
|
|
than or equal to the maximum value listed in the following table, based |
410
|
|
|
|
|
|
|
on the value that you specified for Level. |
411
|
|
|
|
|
|
|
|
412
|
|
|
|
|
|
|
=back |
413
|
|
|
|
|
|
|
|
414
|
|
|
|
|
|
|
The maximum recommended decoding speed in Luma samples/second for each |
415
|
|
|
|
|
|
|
level is described in the following list (I<Level - Decoding speed>): |
416
|
|
|
|
|
|
|
|
417
|
|
|
|
|
|
|
=over |
418
|
|
|
|
|
|
|
|
419
|
|
|
|
|
|
|
=item * |
420
|
|
|
|
|
|
|
|
421
|
|
|
|
|
|
|
1 - 380160 |
422
|
|
|
|
|
|
|
|
423
|
|
|
|
|
|
|
=item * |
424
|
|
|
|
|
|
|
|
425
|
|
|
|
|
|
|
1b - 380160 |
426
|
|
|
|
|
|
|
|
427
|
|
|
|
|
|
|
=item * |
428
|
|
|
|
|
|
|
|
429
|
|
|
|
|
|
|
1.1 - 76800 |
430
|
|
|
|
|
|
|
|
431
|
|
|
|
|
|
|
=item * |
432
|
|
|
|
|
|
|
|
433
|
|
|
|
|
|
|
1.2 - 1536000 |
434
|
|
|
|
|
|
|
|
435
|
|
|
|
|
|
|
=item * |
436
|
|
|
|
|
|
|
|
437
|
|
|
|
|
|
|
1.3 - 3041280 |
438
|
|
|
|
|
|
|
|
439
|
|
|
|
|
|
|
=item * |
440
|
|
|
|
|
|
|
|
441
|
|
|
|
|
|
|
2 - 3041280 |
442
|
|
|
|
|
|
|
|
443
|
|
|
|
|
|
|
=item * |
444
|
|
|
|
|
|
|
|
445
|
|
|
|
|
|
|
2.1 - 5068800 |
446
|
|
|
|
|
|
|
|
447
|
|
|
|
|
|
|
=item * |
448
|
|
|
|
|
|
|
|
449
|
|
|
|
|
|
|
2.2 - 5184000 |
450
|
|
|
|
|
|
|
|
451
|
|
|
|
|
|
|
=item * |
452
|
|
|
|
|
|
|
|
453
|
|
|
|
|
|
|
3 - 10368000 |
454
|
|
|
|
|
|
|
|
455
|
|
|
|
|
|
|
=item * |
456
|
|
|
|
|
|
|
|
457
|
|
|
|
|
|
|
3.1 - 27648000 |
458
|
|
|
|
|
|
|
|
459
|
|
|
|
|
|
|
=item * |
460
|
|
|
|
|
|
|
|
461
|
|
|
|
|
|
|
3.2 - 55296000 |
462
|
|
|
|
|
|
|
|
463
|
|
|
|
|
|
|
=item * |
464
|
|
|
|
|
|
|
|
465
|
|
|
|
|
|
|
4 - 62914560 |
466
|
|
|
|
|
|
|
|
467
|
|
|
|
|
|
|
=item * |
468
|
|
|
|
|
|
|
|
469
|
|
|
|
|
|
|
4.1 - 62914560 |
470
|
|
|
|
|
|
|
|
471
|
|
|
|
|
|
|
=back |
472
|
|
|
|
|
|
|
|
473
|
|
|
|
|
|
|
|
474
|
|
|
|
|
|
|
|
475
|
|
|
|
|
|
|
=head2 KeyframesMaxDist => Str |
476
|
|
|
|
|
|
|
|
477
|
|
|
|
|
|
|
Applicable only when the value of Video:Codec is one of C<H.264>, |
478
|
|
|
|
|
|
|
C<MPEG2>, or C<VP8>. |
479
|
|
|
|
|
|
|
|
480
|
|
|
|
|
|
|
The maximum number of frames between key frames. Key frames are fully |
481
|
|
|
|
|
|
|
encoded frames; the frames between key frames are encoded based, in |
482
|
|
|
|
|
|
|
part, on the content of the key frames. The value is an integer |
483
|
|
|
|
|
|
|
formatted as a string; valid values are between 1 (every frame is a key |
484
|
|
|
|
|
|
|
frame) and 100000, inclusive. A higher value results in higher |
485
|
|
|
|
|
|
|
compression but may also discernibly decrease video quality. |
486
|
|
|
|
|
|
|
|
487
|
|
|
|
|
|
|
For C<Smooth> outputs, the C<FrameRate> must have a constant ratio to |
488
|
|
|
|
|
|
|
the C<KeyframesMaxDist>. This allows C<Smooth> playlists to switch |
489
|
|
|
|
|
|
|
between different quality levels while the file is being played. |
490
|
|
|
|
|
|
|
|
491
|
|
|
|
|
|
|
For example, an input file can have a C<FrameRate> of 30 with a |
492
|
|
|
|
|
|
|
C<KeyframesMaxDist> of 90. The output file then needs to have a ratio |
493
|
|
|
|
|
|
|
of 1:3. Valid outputs would have C<FrameRate> of 30, 25, and 10, and |
494
|
|
|
|
|
|
|
C<KeyframesMaxDist> of 90, 75, and 30, respectively. |
495
|
|
|
|
|
|
|
|
496
|
|
|
|
|
|
|
Alternately, this can be achieved by setting C<FrameRate> to auto and |
497
|
|
|
|
|
|
|
having the same values for C<MaxFrameRate> and C<KeyframesMaxDist>. |
498
|
|
|
|
|
|
|
|
499
|
|
|
|
|
|
|
|
500
|
|
|
|
|
|
|
=head2 MaxFrameRate => Str |
501
|
|
|
|
|
|
|
|
502
|
|
|
|
|
|
|
If you specify C<auto> for C<FrameRate>, Elastic Transcoder uses the |
503
|
|
|
|
|
|
|
frame rate of the input video for the frame rate of the output video. |
504
|
|
|
|
|
|
|
Specify the maximum frame rate that you want Elastic Transcoder to use |
505
|
|
|
|
|
|
|
when the frame rate of the input video is greater than the desired |
506
|
|
|
|
|
|
|
maximum frame rate of the output video. Valid values include: C<10>, |
507
|
|
|
|
|
|
|
C<15>, C<23.97>, C<24>, C<25>, C<29.97>, C<30>, C<60>. |
508
|
|
|
|
|
|
|
|
509
|
|
|
|
|
|
|
|
510
|
|
|
|
|
|
|
=head2 MaxHeight => Str |
511
|
|
|
|
|
|
|
|
512
|
|
|
|
|
|
|
The maximum height of the output video in pixels. If you specify |
513
|
|
|
|
|
|
|
C<auto>, Elastic Transcoder uses 1080 (Full HD) as the default value. |
514
|
|
|
|
|
|
|
If you specify a numeric value, enter an even integer between 96 and |
515
|
|
|
|
|
|
|
3072. |
516
|
|
|
|
|
|
|
|
517
|
|
|
|
|
|
|
|
518
|
|
|
|
|
|
|
=head2 MaxWidth => Str |
519
|
|
|
|
|
|
|
|
520
|
|
|
|
|
|
|
The maximum width of the output video in pixels. If you specify |
521
|
|
|
|
|
|
|
C<auto>, Elastic Transcoder uses 1920 (Full HD) as the default value. |
522
|
|
|
|
|
|
|
If you specify a numeric value, enter an even integer between 128 and |
523
|
|
|
|
|
|
|
4096. |
524
|
|
|
|
|
|
|
|
525
|
|
|
|
|
|
|
|
526
|
|
|
|
|
|
|
=head2 PaddingPolicy => Str |
527
|
|
|
|
|
|
|
|
528
|
|
|
|
|
|
|
When you set C<PaddingPolicy> to C<Pad>, Elastic Transcoder may add |
529
|
|
|
|
|
|
|
black bars to the top and bottom and/or left and right sides of the |
530
|
|
|
|
|
|
|
output video to make the total size of the output video match the |
531
|
|
|
|
|
|
|
values that you specified for C<MaxWidth> and C<MaxHeight>. |
532
|
|
|
|
|
|
|
|
533
|
|
|
|
|
|
|
|
534
|
|
|
|
|
|
|
=head2 Resolution => Str |
535
|
|
|
|
|
|
|
|
536
|
|
|
|
|
|
|
To better control resolution and aspect ratio of output videos, we |
537
|
|
|
|
|
|
|
recommend that you use the values C<MaxWidth>, C<MaxHeight>, |
538
|
|
|
|
|
|
|
C<SizingPolicy>, C<PaddingPolicy>, and C<DisplayAspectRatio> instead of |
539
|
|
|
|
|
|
|
C<Resolution> and C<AspectRatio>. The two groups of settings are |
540
|
|
|
|
|
|
|
mutually exclusive. Do not use them together. |
541
|
|
|
|
|
|
|
|
542
|
|
|
|
|
|
|
The width and height of the video in the output file, in pixels. Valid |
543
|
|
|
|
|
|
|
values are C<auto> and I<width> x I<height>: |
544
|
|
|
|
|
|
|
|
545
|
|
|
|
|
|
|
=over |
546
|
|
|
|
|
|
|
|
547
|
|
|
|
|
|
|
=item * |
548
|
|
|
|
|
|
|
|
549
|
|
|
|
|
|
|
C<auto>: Elastic Transcoder attempts to preserve the width and height |
550
|
|
|
|
|
|
|
of the input file, subject to the following rules. |
551
|
|
|
|
|
|
|
|
552
|
|
|
|
|
|
|
=item * |
553
|
|
|
|
|
|
|
|
554
|
|
|
|
|
|
|
C<I<width> x I<height> >: The width and height of the output video in |
555
|
|
|
|
|
|
|
pixels. |
556
|
|
|
|
|
|
|
|
557
|
|
|
|
|
|
|
=back |
558
|
|
|
|
|
|
|
|
559
|
|
|
|
|
|
|
Note the following about specifying the width and height: |
560
|
|
|
|
|
|
|
|
561
|
|
|
|
|
|
|
=over |
562
|
|
|
|
|
|
|
|
563
|
|
|
|
|
|
|
=item * |
564
|
|
|
|
|
|
|
|
565
|
|
|
|
|
|
|
The width must be an even integer between 128 and 4096, inclusive. |
566
|
|
|
|
|
|
|
|
567
|
|
|
|
|
|
|
=item * |
568
|
|
|
|
|
|
|
|
569
|
|
|
|
|
|
|
The height must be an even integer between 96 and 3072, inclusive. |
570
|
|
|
|
|
|
|
|
571
|
|
|
|
|
|
|
=item * |
572
|
|
|
|
|
|
|
|
573
|
|
|
|
|
|
|
If you specify a resolution that is less than the resolution of the |
574
|
|
|
|
|
|
|
input file, Elastic Transcoder rescales the output file to the lower |
575
|
|
|
|
|
|
|
resolution. |
576
|
|
|
|
|
|
|
|
577
|
|
|
|
|
|
|
=item * |
578
|
|
|
|
|
|
|
|
579
|
|
|
|
|
|
|
If you specify a resolution that is greater than the resolution of the |
580
|
|
|
|
|
|
|
input file, Elastic Transcoder rescales the output to the higher |
581
|
|
|
|
|
|
|
resolution. |
582
|
|
|
|
|
|
|
|
583
|
|
|
|
|
|
|
=item * |
584
|
|
|
|
|
|
|
|
585
|
|
|
|
|
|
|
We recommend that you specify a resolution for which the product of |
586
|
|
|
|
|
|
|
width and height is less than or equal to the applicable value in the |
587
|
|
|
|
|
|
|
following list (I<List - Max width x height value>): |
588
|
|
|
|
|
|
|
|
589
|
|
|
|
|
|
|
=over |
590
|
|
|
|
|
|
|
|
591
|
|
|
|
|
|
|
=item * |
592
|
|
|
|
|
|
|
|
593
|
|
|
|
|
|
|
1 - 25344 |
594
|
|
|
|
|
|
|
|
595
|
|
|
|
|
|
|
=item * |
596
|
|
|
|
|
|
|
|
597
|
|
|
|
|
|
|
1b - 25344 |
598
|
|
|
|
|
|
|
|
599
|
|
|
|
|
|
|
=item * |
600
|
|
|
|
|
|
|
|
601
|
|
|
|
|
|
|
1.1 - 101376 |
602
|
|
|
|
|
|
|
|
603
|
|
|
|
|
|
|
=item * |
604
|
|
|
|
|
|
|
|
605
|
|
|
|
|
|
|
1.2 - 101376 |
606
|
|
|
|
|
|
|
|
607
|
|
|
|
|
|
|
=item * |
608
|
|
|
|
|
|
|
|
609
|
|
|
|
|
|
|
1.3 - 101376 |
610
|
|
|
|
|
|
|
|
611
|
|
|
|
|
|
|
=item * |
612
|
|
|
|
|
|
|
|
613
|
|
|
|
|
|
|
2 - 101376 |
614
|
|
|
|
|
|
|
|
615
|
|
|
|
|
|
|
=item * |
616
|
|
|
|
|
|
|
|
617
|
|
|
|
|
|
|
2.1 - 202752 |
618
|
|
|
|
|
|
|
|
619
|
|
|
|
|
|
|
=item * |
620
|
|
|
|
|
|
|
|
621
|
|
|
|
|
|
|
2.2 - 404720 |
622
|
|
|
|
|
|
|
|
623
|
|
|
|
|
|
|
=item * |
624
|
|
|
|
|
|
|
|
625
|
|
|
|
|
|
|
3 - 404720 |
626
|
|
|
|
|
|
|
|
627
|
|
|
|
|
|
|
=item * |
628
|
|
|
|
|
|
|
|
629
|
|
|
|
|
|
|
3.1 - 921600 |
630
|
|
|
|
|
|
|
|
631
|
|
|
|
|
|
|
=item * |
632
|
|
|
|
|
|
|
|
633
|
|
|
|
|
|
|
3.2 - 1310720 |
634
|
|
|
|
|
|
|
|
635
|
|
|
|
|
|
|
=item * |
636
|
|
|
|
|
|
|
|
637
|
|
|
|
|
|
|
4 - 2097152 |
638
|
|
|
|
|
|
|
|
639
|
|
|
|
|
|
|
=item * |
640
|
|
|
|
|
|
|
|
641
|
|
|
|
|
|
|
4.1 - 2097152 |
642
|
|
|
|
|
|
|
|
643
|
|
|
|
|
|
|
=back |
644
|
|
|
|
|
|
|
|
645
|
|
|
|
|
|
|
=back |
646
|
|
|
|
|
|
|
|
647
|
|
|
|
|
|
|
|
648
|
|
|
|
|
|
|
|
649
|
|
|
|
|
|
|
=head2 SizingPolicy => Str |
650
|
|
|
|
|
|
|
|
651
|
|
|
|
|
|
|
Specify one of the following values to control scaling of the output |
652
|
|
|
|
|
|
|
video: |
653
|
|
|
|
|
|
|
|
654
|
|
|
|
|
|
|
=over |
655
|
|
|
|
|
|
|
|
656
|
|
|
|
|
|
|
=item * |
657
|
|
|
|
|
|
|
|
658
|
|
|
|
|
|
|
C<Fit>: Elastic Transcoder scales the output video so it matches the |
659
|
|
|
|
|
|
|
value that you specified in either C<MaxWidth> or C<MaxHeight> without |
660
|
|
|
|
|
|
|
exceeding the other value. |
661
|
|
|
|
|
|
|
|
662
|
|
|
|
|
|
|
=item * |
663
|
|
|
|
|
|
|
|
664
|
|
|
|
|
|
|
C<Fill>: Elastic Transcoder scales the output video so it matches the |
665
|
|
|
|
|
|
|
value that you specified in either C<MaxWidth> or C<MaxHeight> and |
666
|
|
|
|
|
|
|
matches or exceeds the other value. Elastic Transcoder centers the |
667
|
|
|
|
|
|
|
output video and then crops it in the dimension (if any) that exceeds |
668
|
|
|
|
|
|
|
the maximum value. |
669
|
|
|
|
|
|
|
|
670
|
|
|
|
|
|
|
=item * |
671
|
|
|
|
|
|
|
|
672
|
|
|
|
|
|
|
C<Stretch>: Elastic Transcoder stretches the output video to match the |
673
|
|
|
|
|
|
|
values that you specified for C<MaxWidth> and C<MaxHeight>. If the |
674
|
|
|
|
|
|
|
relative proportions of the input video and the output video are |
675
|
|
|
|
|
|
|
different, the output video will be distorted. |
676
|
|
|
|
|
|
|
|
677
|
|
|
|
|
|
|
=item * |
678
|
|
|
|
|
|
|
|
679
|
|
|
|
|
|
|
C<Keep>: Elastic Transcoder does not scale the output video. If either |
680
|
|
|
|
|
|
|
dimension of the input video exceeds the values that you specified for |
681
|
|
|
|
|
|
|
C<MaxWidth> and C<MaxHeight>, Elastic Transcoder crops the output |
682
|
|
|
|
|
|
|
video. |
683
|
|
|
|
|
|
|
|
684
|
|
|
|
|
|
|
=item * |
685
|
|
|
|
|
|
|
|
686
|
|
|
|
|
|
|
C<ShrinkToFit>: Elastic Transcoder scales the output video down so that |
687
|
|
|
|
|
|
|
its dimensions match the values that you specified for at least one of |
688
|
|
|
|
|
|
|
C<MaxWidth> and C<MaxHeight> without exceeding either value. If you |
689
|
|
|
|
|
|
|
specify this option, Elastic Transcoder does not scale the video up. |
690
|
|
|
|
|
|
|
|
691
|
|
|
|
|
|
|
=item * |
692
|
|
|
|
|
|
|
|
693
|
|
|
|
|
|
|
C<ShrinkToFill>: Elastic Transcoder scales the output video down so |
694
|
|
|
|
|
|
|
that its dimensions match the values that you specified for at least |
695
|
|
|
|
|
|
|
one of C<MaxWidth> and C<MaxHeight> without dropping below either |
696
|
|
|
|
|
|
|
value. If you specify this option, Elastic Transcoder does not scale |
697
|
|
|
|
|
|
|
the video up. |
698
|
|
|
|
|
|
|
|
699
|
|
|
|
|
|
|
=back |
700
|
|
|
|
|
|
|
|
701
|
|
|
|
|
|
|
|
702
|
|
|
|
|
|
|
|
703
|
|
|
|
|
|
|
=head2 Watermarks => ArrayRef[L<Paws::ElasticTranscoder::PresetWatermark>] |
704
|
|
|
|
|
|
|
|
705
|
|
|
|
|
|
|
Settings for the size, location, and opacity of graphics that you want |
706
|
|
|
|
|
|
|
Elastic Transcoder to overlay over videos that are transcoded using |
707
|
|
|
|
|
|
|
this preset. You can specify settings for up to four watermarks. |
708
|
|
|
|
|
|
|
Watermarks appear in the specified size and location, and with the |
709
|
|
|
|
|
|
|
specified opacity for the duration of the transcoded video. |
710
|
|
|
|
|
|
|
|
711
|
|
|
|
|
|
|
Watermarks can be in .png or .jpg format. If you want to display a |
712
|
|
|
|
|
|
|
watermark that is not rectangular, use the .png format, which supports |
713
|
|
|
|
|
|
|
transparency. |
714
|
|
|
|
|
|
|
|
715
|
|
|
|
|
|
|
When you create a job that uses this preset, you specify the .png or |
716
|
|
|
|
|
|
|
.jpg graphics that you want Elastic Transcoder to include in the |
717
|
|
|
|
|
|
|
transcoded videos. You can specify fewer graphics in the job than you |
718
|
|
|
|
|
|
|
specify watermark settings in the preset, which allows you to use the |
719
|
|
|
|
|
|
|
same preset for up to four watermarks that have different dimensions. |
720
|
|
|
|
|
|
|
|
721
|
|
|
|
|
|
|
|
722
|
|
|
|
|
|
|
|
723
|
|
|
|
|
|
|
=head1 SEE ALSO |
724
|
|
|
|
|
|
|
|
725
|
|
|
|
|
|
|
This class forms part of L<Paws>, describing an object used in L<Paws::ElasticTranscoder> |
726
|
|
|
|
|
|
|
|
727
|
|
|
|
|
|
|
=head1 BUGS and CONTRIBUTIONS |
728
|
|
|
|
|
|
|
|
729
|
|
|
|
|
|
|
The source code is located here: https://github.com/pplu/aws-sdk-perl |
730
|
|
|
|
|
|
|
|
731
|
|
|
|
|
|
|
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues |
732
|
|
|
|
|
|
|
|
733
|
|
|
|
|
|
|
=cut |
734
|
|
|
|
|
|
|
|