line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Paws::ElasticTranscoder::PlayReadyDrm; |
2
|
1
|
|
|
1
|
|
607
|
use Moose; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
7
|
|
3
|
|
|
|
|
|
|
has Format => (is => 'ro', isa => 'Str'); |
4
|
|
|
|
|
|
|
has InitializationVector => (is => 'ro', isa => 'Str'); |
5
|
|
|
|
|
|
|
has Key => (is => 'ro', isa => 'Str'); |
6
|
|
|
|
|
|
|
has KeyId => (is => 'ro', isa => 'Str'); |
7
|
|
|
|
|
|
|
has KeyMd5 => (is => 'ro', isa => 'Str'); |
8
|
|
|
|
|
|
|
has LicenseAcquisitionUrl => (is => 'ro', isa => 'Str'); |
9
|
|
|
|
|
|
|
1; |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
### main pod documentation begin ### |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
=head1 NAME |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
Paws::ElasticTranscoder::PlayReadyDrm |
16
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
=head1 USAGE |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
This class represents one of two things: |
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
=head3 Arguments in a call to a service |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. |
24
|
|
|
|
|
|
|
Each attribute should be used as a named argument in the calls that expect this type of object. |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
As an example, if Att1 is expected to be a Paws::ElasticTranscoder::PlayReadyDrm object: |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
$service_obj->Method(Att1 => { Format => $value, ..., LicenseAcquisitionUrl => $value }); |
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
=head3 Results returned from an API call |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
Use accessors for each attribute. If Att1 is expected to be an Paws::ElasticTranscoder::PlayReadyDrm object: |
33
|
|
|
|
|
|
|
|
34
|
|
|
|
|
|
|
$result = $service_obj->Method(...); |
35
|
|
|
|
|
|
|
$result->Att1->Format |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
=head1 DESCRIPTION |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
The PlayReady DRM settings, if any, that you want Elastic Transcoder to |
40
|
|
|
|
|
|
|
apply to the output files associated with this playlist. |
41
|
|
|
|
|
|
|
|
42
|
|
|
|
|
|
|
PlayReady DRM encrypts your media files using C<AES-CTR> encryption. |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
If you use DRM for an C<HLSv3> playlist, your outputs must have a |
45
|
|
|
|
|
|
|
master playlist. |
46
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
=head1 ATTRIBUTES |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
=head2 Format => Str |
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
The type of DRM, if any, that you want Elastic Transcoder to apply to |
53
|
|
|
|
|
|
|
the output files associated with this playlist. |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
=head2 InitializationVector => Str |
57
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
The series of random bits created by a random bit generator, unique for |
59
|
|
|
|
|
|
|
every encryption operation, that you want Elastic Transcoder to use to |
60
|
|
|
|
|
|
|
encrypt your files. The initialization vector must be base64-encoded, |
61
|
|
|
|
|
|
|
and it must be exactly 8 bytes long before being base64-encoded. If no |
62
|
|
|
|
|
|
|
initialization vector is provided, Elastic Transcoder generates one for |
63
|
|
|
|
|
|
|
you. |
64
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
=head2 Key => Str |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
The DRM key for your file, provided by your DRM license provider. The |
69
|
|
|
|
|
|
|
key must be base64-encoded, and it must be one of the following bit |
70
|
|
|
|
|
|
|
lengths before being base64-encoded: |
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
C<128>, C<192>, or C<256>. |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
The key must also be encrypted by using AWS KMS. |
75
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
=head2 KeyId => Str |
78
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
The ID for your DRM key, so that your DRM license provider knows which |
80
|
|
|
|
|
|
|
key to provide. |
81
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
The key ID must be provided in big endian, and Elastic Transcoder |
83
|
|
|
|
|
|
|
converts it to little endian before inserting it into the PlayReady DRM |
84
|
|
|
|
|
|
|
headers. If you are unsure whether your license server provides your |
85
|
|
|
|
|
|
|
key ID in big or little endian, check with your DRM provider. |
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
=head2 KeyMd5 => Str |
89
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
The MD5 digest of the key used for DRM on your file, and that you want |
91
|
|
|
|
|
|
|
Elastic Transcoder to use as a checksum to make sure your key was not |
92
|
|
|
|
|
|
|
corrupted in transit. The key MD5 must be base64-encoded, and it must |
93
|
|
|
|
|
|
|
be exactly 16 bytes before being base64-encoded. |
94
|
|
|
|
|
|
|
|
95
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
=head2 LicenseAcquisitionUrl => Str |
97
|
|
|
|
|
|
|
|
98
|
|
|
|
|
|
|
The location of the license key required to play DRM content. The URL |
99
|
|
|
|
|
|
|
must be an absolute path, and is referenced by the PlayReady header. |
100
|
|
|
|
|
|
|
The PlayReady header is referenced in the protection header of the |
101
|
|
|
|
|
|
|
client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM |
102
|
|
|
|
|
|
|
and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example |
103
|
|
|
|
|
|
|
URL looks like this: C<https://www.example.com/exampleKey/> |
104
|
|
|
|
|
|
|
|
105
|
|
|
|
|
|
|
|
106
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
=head1 SEE ALSO |
108
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
This class forms part of L<Paws>, describing an object used in L<Paws::ElasticTranscoder> |
110
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
=head1 BUGS and CONTRIBUTIONS |
112
|
|
|
|
|
|
|
|
113
|
|
|
|
|
|
|
The source code is located here: https://github.com/pplu/aws-sdk-perl |
114
|
|
|
|
|
|
|
|
115
|
|
|
|
|
|
|
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues |
116
|
|
|
|
|
|
|
|
117
|
|
|
|
|
|
|
=cut |
118
|
|
|
|
|
|
|
|