awscdk-construct-live-channel-from-mp4-file
Advanced tools
Comparing version 0.0.3 to 0.0.5
101
API.md
@@ -238,2 +238,3 @@ # API Reference <a name="API Reference" id="api-reference"></a> | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLive.property.channel">channel</a></code> | <code>aws-cdk-lib.aws_medialive.CfnChannel</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLive.property.input">input</a></code> | <code>aws-cdk-lib.aws_medialive.CfnInput</code> | *No description.* | | ||
@@ -264,3 +265,13 @@ --- | ||
##### `input`<sup>Required</sup> <a name="input" id="awscdk-construct-live-channel-from-mp4-file.MediaLive.property.input"></a> | ||
```typescript | ||
public readonly input: CfnInput; | ||
``` | ||
- *Type:* aws-cdk-lib.aws_medialive.CfnInput | ||
--- | ||
### MediaPackage <a name="MediaPackage" id="awscdk-construct-live-channel-from-mp4-file.MediaPackage"></a> | ||
@@ -418,3 +429,7 @@ | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.channelClass">channelClass</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.gopLengthInSeconds">gopLengthInSeconds</a></code> | <code>number</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.hlsAdMarkers">hlsAdMarkers</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.manifestWindowSeconds">manifestWindowSeconds</a></code> | <code>number</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.segmentDurationSeconds">segmentDurationSeconds</a></code> | <code>number</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.timecodeBurninPrefix">timecodeBurninPrefix</a></code> | <code>string</code> | *No description.* | | ||
@@ -434,2 +449,22 @@ | ||
##### `channelClass`<sup>Optional</sup> <a name="channelClass" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.channelClass"></a> | ||
```typescript | ||
public readonly channelClass: string; | ||
``` | ||
- *Type:* string | ||
--- | ||
##### `gopLengthInSeconds`<sup>Optional</sup> <a name="gopLengthInSeconds" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.gopLengthInSeconds"></a> | ||
```typescript | ||
public readonly gopLengthInSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
##### `hlsAdMarkers`<sup>Optional</sup> <a name="hlsAdMarkers" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.hlsAdMarkers"></a> | ||
@@ -445,2 +480,22 @@ | ||
##### `manifestWindowSeconds`<sup>Optional</sup> <a name="manifestWindowSeconds" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.manifestWindowSeconds"></a> | ||
```typescript | ||
public readonly manifestWindowSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
##### `segmentDurationSeconds`<sup>Optional</sup> <a name="segmentDurationSeconds" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.segmentDurationSeconds"></a> | ||
```typescript | ||
public readonly segmentDurationSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
##### `timecodeBurninPrefix`<sup>Optional</sup> <a name="timecodeBurninPrefix" id="awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4Props.property.timecodeBurninPrefix"></a> | ||
@@ -472,2 +527,4 @@ | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.channelClass">channelClass</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.gopLengthInSeconds">gopLengthInSeconds</a></code> | <code>number</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.timecodeBurninPrefix">timecodeBurninPrefix</a></code> | <code>string</code> | *No description.* | | ||
@@ -497,2 +554,22 @@ | ||
##### `channelClass`<sup>Optional</sup> <a name="channelClass" id="awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.channelClass"></a> | ||
```typescript | ||
public readonly channelClass: string; | ||
``` | ||
- *Type:* string | ||
--- | ||
##### `gopLengthInSeconds`<sup>Optional</sup> <a name="gopLengthInSeconds" id="awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.gopLengthInSeconds"></a> | ||
```typescript | ||
public readonly gopLengthInSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
##### `timecodeBurninPrefix`<sup>Optional</sup> <a name="timecodeBurninPrefix" id="awscdk-construct-live-channel-from-mp4-file.MediaLiveProps.property.timecodeBurninPrefix"></a> | ||
@@ -584,6 +661,8 @@ | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.hlsAdMarkers">hlsAdMarkers</a></code> | <code>string</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.manifestWindowSeconds">manifestWindowSeconds</a></code> | <code>number</code> | *No description.* | | ||
| <code><a href="#awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.segmentDurationSeconds">segmentDurationSeconds</a></code> | <code>number</code> | *No description.* | | ||
--- | ||
##### `hlsAdMarkers`<sup>Required</sup> <a name="hlsAdMarkers" id="awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.hlsAdMarkers"></a> | ||
##### `hlsAdMarkers`<sup>Optional</sup> <a name="hlsAdMarkers" id="awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.hlsAdMarkers"></a> | ||
@@ -598,3 +677,23 @@ ```typescript | ||
##### `manifestWindowSeconds`<sup>Optional</sup> <a name="manifestWindowSeconds" id="awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.manifestWindowSeconds"></a> | ||
```typescript | ||
public readonly manifestWindowSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
##### `segmentDurationSeconds`<sup>Optional</sup> <a name="segmentDurationSeconds" id="awscdk-construct-live-channel-from-mp4-file.MediaPakcageProps.property.segmentDurationSeconds"></a> | ||
```typescript | ||
public readonly segmentDurationSeconds: number; | ||
``` | ||
- *Type:* number | ||
--- | ||
@@ -6,3 +6,7 @@ import { Construct } from 'constructs'; | ||
readonly sourceUrl: string; | ||
readonly channelClass?: string; | ||
readonly gopLengthInSeconds?: number; | ||
readonly timecodeBurninPrefix?: string; | ||
readonly segmentDurationSeconds?: number; | ||
readonly manifestWindowSeconds?: number; | ||
readonly hlsAdMarkers?: string; | ||
@@ -13,3 +17,3 @@ } | ||
readonly emp: MediaPackage; | ||
constructor(scope: Construct, id: string, { sourceUrl, timecodeBurninPrefix, hlsAdMarkers, }: LiveChannelFromMp4Props); | ||
constructor(scope: Construct, id: string, { sourceUrl, channelClass, gopLengthInSeconds, timecodeBurninPrefix, segmentDurationSeconds, manifestWindowSeconds, hlsAdMarkers, }: LiveChannelFromMp4Props); | ||
} |
@@ -10,6 +10,8 @@ "use strict"; | ||
class LiveChannelFromMp4 extends constructs_1.Construct { | ||
constructor(scope, id, { sourceUrl, timecodeBurninPrefix, hlsAdMarkers, }) { | ||
constructor(scope, id, { sourceUrl, channelClass, gopLengthInSeconds, timecodeBurninPrefix, segmentDurationSeconds, manifestWindowSeconds, hlsAdMarkers, }) { | ||
super(scope, id); | ||
this.emp = new MediaPackage_1.MediaPackage(this, 'MediaPackage', { | ||
hlsAdMarkers: hlsAdMarkers ?? 'DATERANGE', | ||
segmentDurationSeconds, | ||
manifestWindowSeconds, | ||
hlsAdMarkers: hlsAdMarkers, | ||
}); | ||
@@ -19,2 +21,4 @@ this.eml = new MediaLive_1.MediaLive(this, 'MediaLive', { | ||
mediaPackageChannelId: this.emp.channel.id, | ||
channelClass, | ||
gopLengthInSeconds, | ||
timecodeBurninPrefix, | ||
@@ -26,3 +30,3 @@ }); | ||
_a = JSII_RTTI_SYMBOL_1; | ||
LiveChannelFromMp4[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4", version: "0.0.3" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUNoYW5uZWxGcm9tTXA0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xpdmVDaGFubmVsRnJvbU1wNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF1QztBQUN2QywyQ0FBd0M7QUFDeEMsaURBQThDO0FBUTlDLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFJL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxFQUN4QyxTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3BCLFlBQVksR0FDWTtRQUV4QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSwyQkFBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDaEQsWUFBWSxFQUFFLFlBQVksSUFBSSxXQUFXO1NBQzFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxxQkFBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDMUMsU0FBUztZQUNULHFCQUFxQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsb0JBQW9CO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBckJILGdEQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTWVkaWFMaXZlIH0gZnJvbSAnLi9NZWRpYUxpdmUnO1xuaW1wb3J0IHsgTWVkaWFQYWNrYWdlIH0gZnJvbSAnLi9NZWRpYVBhY2thZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVDaGFubmVsRnJvbU1wNFByb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlVXJsOiBzdHJpbmc7IC8vIFRoZSBVUkwgb2YgdGhlIE1lZGlhUGFja2FnZSBlbmRwb2ludCB1c2VkIGJ5IE1lZGlhVGFpbG9yIGFzIHRoZSBjb250ZW50IG9yaWdpbi5cbiAgcmVhZG9ubHkgdGltZWNvZGVCdXJuaW5QcmVmaXg/OiBzdHJpbmc7IC8vIFRoZSBVUkwgb2YgdGhlIGFkIHNlcnZlciB1c2VkIGJ5IE1lZGlhVGFpbG9yIGFzIHRoZSBBRFMuXG4gIHJlYWRvbmx5IGhsc0FkTWFya2Vycz86IHN0cmluZzsgLy8gVGhlIFVSTCBvZiB0aGUgdmlkZW8gZmlsZSB1c2VkIGJ5IE1lZGlhVGFpbG9yIGFzIHRoZSBzbGF0ZS5cbn1cblxuZXhwb3J0IGNsYXNzIExpdmVDaGFubmVsRnJvbU1wNCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBlbWw6IE1lZGlhTGl2ZTtcbiAgcHVibGljIHJlYWRvbmx5IGVtcDogTWVkaWFQYWNrYWdlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHtcbiAgICBzb3VyY2VVcmwsXG4gICAgdGltZWNvZGVCdXJuaW5QcmVmaXgsXG4gICAgaGxzQWRNYXJrZXJzLFxuICB9OiBMaXZlQ2hhbm5lbEZyb21NcDRQcm9wcykge1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZW1wID0gbmV3IE1lZGlhUGFja2FnZSh0aGlzLCAnTWVkaWFQYWNrYWdlJywge1xuICAgICAgaGxzQWRNYXJrZXJzOiBobHNBZE1hcmtlcnMgPz8gJ0RBVEVSQU5HRScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZVVybCxcbiAgICAgIG1lZGlhUGFja2FnZUNoYW5uZWxJZDogdGhpcy5lbXAuY2hhbm5lbC5pZCxcbiAgICAgIHRpbWVjb2RlQnVybmluUHJlZml4LFxuICAgIH0pO1xuICB9XG59XG4iXX0= | ||
LiveChannelFromMp4[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.LiveChannelFromMp4", version: "0.0.5" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUNoYW5uZWxGcm9tTXA0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xpdmVDaGFubmVsRnJvbU1wNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF1QztBQUN2QywyQ0FBd0M7QUFDeEMsaURBQThDO0FBWTlDLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFJL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxFQUN4QyxTQUFTLEVBQ1QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixZQUFZLEdBQ1k7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksMkJBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2hELHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLHFCQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUMxQyxTQUFTO1lBQ1QscUJBQXFCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQyxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLG9CQUFvQjtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTdCSCxnREE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1lZGlhTGl2ZSB9IGZyb20gJy4vTWVkaWFMaXZlJztcbmltcG9ydCB7IE1lZGlhUGFja2FnZSB9IGZyb20gJy4vTWVkaWFQYWNrYWdlJztcblxuZXhwb3J0IGludGVyZmFjZSBMaXZlQ2hhbm5lbEZyb21NcDRQcm9wcyB7XG4gIHJlYWRvbmx5IHNvdXJjZVVybDogc3RyaW5nOyAvLyBUaGUgVVJMIG9mIHRoZSBNUDQgZmlsZSB1c2VkIGJ5IE1lZGlhTGl2ZSBhcyB0aGUgc291cmNlLlxuICByZWFkb25seSBjaGFubmVsQ2xhc3M/OiBzdHJpbmc7IC8vIFRoZSBjbGFzcyBvZiB0aGUgY2hhbm5lbC4gKFNUQU5EQVJEIG9yIFNJTkdMRV9QSVBFTElORSlcbiAgcmVhZG9ubHkgZ29wTGVuZ3RoSW5TZWNvbmRzPzogbnVtYmVyOyAvLyBUaGUgbGVuZ3RoIG9mIHRoZSBHT1AgaW4gc2Vjb25kcy5cbiAgcmVhZG9ubHkgdGltZWNvZGVCdXJuaW5QcmVmaXg/OiBzdHJpbmc7IC8vIFRoZSBwcmVmaXggZm9yIHRoZSB0aW1lY29kZSBidXJuLWluLlxuICByZWFkb25seSBzZWdtZW50RHVyYXRpb25TZWNvbmRzPzogbnVtYmVyOyAvLyBUaGUgZHVyYXRpb24gb2YgZWFjaCBzZWdtZW50IGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IG1hbmlmZXN0V2luZG93U2Vjb25kcz86IG51bWJlcjsgLy8gVGhlIGR1cmF0aW9uIG9mIG1hbmlmZXN0IGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IGhsc0FkTWFya2Vycz86IHN0cmluZzsgLy8gQ29udHJvbHMgaG93IGFkIG1hcmtlcnMgYXJlIGluY2x1ZGVkIGluIHRoZSBwYWNrYWdlZCBlbmRwb2ludC5cbn1cblxuZXhwb3J0IGNsYXNzIExpdmVDaGFubmVsRnJvbU1wNCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBlbWw6IE1lZGlhTGl2ZTsgLy8gVGhlIHJlZmVyZW5jZSB0byB0aGUgTWVkaWFMaXZlIGlucHV0L2NoYW5uZWwuXG4gIHB1YmxpYyByZWFkb25seSBlbXA6IE1lZGlhUGFja2FnZTsgLy8gVGhlIHJlZmVyZW5jZSB0byB0aGUgTWVkaWFQYWNrYWdlIGNoYW5uZWwvZW5kcG9pbnRzLlxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHtcbiAgICBzb3VyY2VVcmwsXG4gICAgY2hhbm5lbENsYXNzLFxuICAgIGdvcExlbmd0aEluU2Vjb25kcyxcbiAgICB0aW1lY29kZUJ1cm5pblByZWZpeCxcbiAgICBzZWdtZW50RHVyYXRpb25TZWNvbmRzLFxuICAgIG1hbmlmZXN0V2luZG93U2Vjb25kcyxcbiAgICBobHNBZE1hcmtlcnMsXG4gIH06IExpdmVDaGFubmVsRnJvbU1wNFByb3BzKSB7XG5cbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5lbXAgPSBuZXcgTWVkaWFQYWNrYWdlKHRoaXMsICdNZWRpYVBhY2thZ2UnLCB7XG4gICAgICBzZWdtZW50RHVyYXRpb25TZWNvbmRzLFxuICAgICAgbWFuaWZlc3RXaW5kb3dTZWNvbmRzLFxuICAgICAgaGxzQWRNYXJrZXJzOiBobHNBZE1hcmtlcnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZVVybCxcbiAgICAgIG1lZGlhUGFja2FnZUNoYW5uZWxJZDogdGhpcy5lbXAuY2hhbm5lbC5pZCxcbiAgICAgIGNoYW5uZWxDbGFzcyxcbiAgICAgIGdvcExlbmd0aEluU2Vjb25kcyxcbiAgICAgIHRpbWVjb2RlQnVybmluUHJlZml4LFxuICAgIH0pO1xuICB9XG59XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
import { CfnChannel } from 'aws-cdk-lib/aws-medialive'; | ||
import { CfnInput, CfnChannel } from 'aws-cdk-lib/aws-medialive'; | ||
import { Construct } from 'constructs'; | ||
@@ -6,7 +6,10 @@ export interface MediaLiveProps { | ||
readonly mediaPackageChannelId: string; | ||
readonly channelClass?: string; | ||
readonly gopLengthInSeconds?: number; | ||
readonly timecodeBurninPrefix?: string; | ||
} | ||
export declare class MediaLive extends Construct { | ||
readonly input: CfnInput; | ||
readonly channel: CfnChannel; | ||
constructor(scope: Construct, id: string, { sourceUrl, mediaPackageChannelId, timecodeBurninPrefix, }: MediaLiveProps); | ||
constructor(scope: Construct, id: string, { sourceUrl, mediaPackageChannelId, channelClass, gopLengthInSeconds, timecodeBurninPrefix, }: MediaLiveProps); | ||
} |
@@ -10,21 +10,41 @@ "use strict"; | ||
class MediaLive extends constructs_1.Construct { | ||
constructor(scope, id, { sourceUrl, mediaPackageChannelId, timecodeBurninPrefix, }) { | ||
constructor(scope, id, { sourceUrl, mediaPackageChannelId, channelClass = 'SINGLE_PIPELINE', gopLengthInSeconds = 3, timecodeBurninPrefix, }) { | ||
super(scope, id); | ||
// Create MediaLive input | ||
const input = new aws_medialive_1.CfnInput(this, 'MyCfnInput', { | ||
// Create MediaLive MP4 input | ||
const sources = Array.from({ length: channelClass === 'STANDARD' ? 2 : 1 }, () => ({ url: sourceUrl })); | ||
this.input = new aws_medialive_1.CfnInput(this, 'MediaLive-CfnInput', { | ||
name: aws_cdk_lib_1.Aws.STACK_NAME + '_EML-Input', | ||
type: 'MP4_FILE', | ||
sources: [ | ||
{ | ||
url: sourceUrl, | ||
}, | ||
sources, | ||
}); | ||
// Create IAM Policy for MediaLive to access MediaPackage and S3 | ||
const customPolicyMediaLive = new aws_cdk_lib_1.aws_iam.PolicyDocument({ | ||
statements: [ | ||
new aws_cdk_lib_1.aws_iam.PolicyStatement({ | ||
resources: [ | ||
'*', | ||
], | ||
actions: [ | ||
's3:ListBucket', | ||
's3:GetObject', | ||
'mediapackage:DescribeChannel', | ||
], | ||
}), | ||
], | ||
}); | ||
//Create a Role for MediaLive to access MediaPackage and S3 | ||
const role = new aws_cdk_lib_1.aws_iam.Role(this, 'MediaLiveAccessRole', { | ||
inlinePolicies: { | ||
policy: customPolicyMediaLive, | ||
}, | ||
assumedBy: new aws_cdk_lib_1.aws_iam.ServicePrincipal('medialive.amazonaws.com'), | ||
}); | ||
// Create MediaLive channel | ||
this.channel = new aws_medialive_1.CfnChannel(this, 'MyCfnChannel', { | ||
this.channel = new aws_medialive_1.CfnChannel(this, 'MediaLive-CfnChannel', { | ||
name: aws_cdk_lib_1.Aws.STACK_NAME + '_EML-Channel', | ||
channelClass: 'SINGLE_PIPELINE', | ||
channelClass, | ||
roleArn: role.roleArn, | ||
inputAttachments: [ | ||
{ | ||
inputId: input.ref, | ||
inputId: this.input.ref, | ||
inputSettings: { | ||
@@ -56,2 +76,25 @@ sourceEndBehavior: 'LOOP', | ||
}, | ||
outputs: [ | ||
{ | ||
outputName: '_640x360', | ||
outputSettings: { | ||
mediaPackageOutputSettings: {}, | ||
}, | ||
videoDescriptionName: '_640x360', | ||
}, | ||
{ | ||
outputName: '_960x540', | ||
outputSettings: { | ||
mediaPackageOutputSettings: {}, | ||
}, | ||
videoDescriptionName: '_960x540', | ||
}, | ||
{ | ||
outputName: '_1280x720', | ||
outputSettings: { | ||
mediaPackageOutputSettings: {}, | ||
}, | ||
videoDescriptionName: '_1280x720', | ||
}, | ||
], | ||
}, | ||
@@ -61,3 +104,53 @@ ], | ||
{ | ||
name: 'MyVideoDescription', | ||
name: '_640x360', | ||
width: 640, | ||
height: 360, | ||
codecSettings: { | ||
h264Settings: { | ||
framerateControl: 'SPECIFIED', | ||
framerateNumerator: 30000, | ||
framerateDenominator: 1001, | ||
parControl: 'SPECIFIED', | ||
parNumerator: 1, | ||
parDenominator: 1, | ||
rateControlMode: 'QVBR', | ||
maxBitrate: 1000000, | ||
gopSize: gopLengthInSeconds, | ||
gopSizeUnits: 'SECONDS', | ||
scanType: 'PROGRESSIVE', | ||
timecodeBurninSettings: timecodeBurninPrefix ? { | ||
position: 'TOP_CENTER', | ||
prefix: `${timecodeBurninPrefix}_640x360`, | ||
fontSize: 'SMALL_16', | ||
} : undefined, | ||
}, | ||
}, | ||
}, | ||
{ | ||
name: '_960x540', | ||
width: 960, | ||
height: 540, | ||
codecSettings: { | ||
h264Settings: { | ||
framerateControl: 'SPECIFIED', | ||
framerateNumerator: 30000, | ||
framerateDenominator: 1001, | ||
parControl: 'SPECIFIED', | ||
parNumerator: 1, | ||
parDenominator: 1, | ||
rateControlMode: 'QVBR', | ||
maxBitrate: 2000000, | ||
gopSize: gopLengthInSeconds, | ||
gopSizeUnits: 'SECONDS', | ||
scanType: 'PROGRESSIVE', | ||
timecodeBurninSettings: timecodeBurninPrefix ? { | ||
position: 'TOP_CENTER', | ||
prefix: `${timecodeBurninPrefix}_960x540`, | ||
fontSize: 'MEDIUM_32', | ||
} : undefined, | ||
}, | ||
}, | ||
}, | ||
{ | ||
name: '_1280x720', | ||
width: 1280, | ||
@@ -67,14 +160,18 @@ height: 720, | ||
h264Settings: { | ||
framerateControl: 'SPECIFIED', | ||
framerateNumerator: 30000, | ||
framerateDenominator: 1001, | ||
framerateControl: 'QVBR', | ||
parControl: 'SPECIFIED', | ||
parNumerator: 1, | ||
parDenominator: 1, | ||
rateControlMode: 'QVBR', | ||
maxBitrate: 3000000, | ||
gopSize: 3, | ||
gopSize: gopLengthInSeconds, | ||
gopSizeUnits: 'SECONDS', | ||
scanType: 'PROGRESSIVE', | ||
timecodeBurninSettings: { | ||
timecodeBurninSettings: timecodeBurninPrefix ? { | ||
position: 'TOP_CENTER', | ||
prefix: timecodeBurninPrefix, | ||
prefix: `${timecodeBurninPrefix}_1280x720`, | ||
fontSize: 'LARGE_48', | ||
}, | ||
} : undefined, | ||
}, | ||
@@ -96,3 +193,3 @@ }, | ||
_a = JSII_RTTI_SYMBOL_1; | ||
MediaLive[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.MediaLive", version: "0.0.3" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFMaXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01lZGlhTGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUVxQjtBQUVyQiw2REFHbUM7QUFFbkMsMkNBQXVDO0FBUXZDLE1BQWEsU0FBVSxTQUFRLHNCQUFTO0lBR3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsRUFDeEMsU0FBUyxFQUNULHFCQUFxQixFQUNyQixvQkFBb0IsR0FDTDtRQUVmLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIseUJBQXlCO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksd0JBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzdDLElBQUksRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxZQUFZO1lBQ25DLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxHQUFHLEVBQUUsU0FBUztpQkFDZjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwwQkFBVSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEQsSUFBSSxFQUFFLGlCQUFHLENBQUMsVUFBVSxHQUFHLGNBQWM7WUFDckMsWUFBWSxFQUFFLGlCQUFpQjtZQUMvQixnQkFBZ0IsRUFBRTtnQkFDaEI7b0JBQ0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHO29CQUNsQixhQUFhLEVBQUU7d0JBQ2IsaUJBQWlCLEVBQUUsTUFBTTtxQkFDMUI7aUJBQ0Y7YUFDRjtZQUNELFlBQVksRUFBRTtnQkFDWjtvQkFDRSxFQUFFLEVBQUUsMkJBQTJCO29CQUMvQixvQkFBb0IsRUFBRTt3QkFDcEI7NEJBQ0UsU0FBUyxFQUFFLHFCQUFxQjt5QkFDakM7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELGVBQWUsRUFBRTtnQkFDZixZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsSUFBSSxFQUFFLGVBQWU7d0JBQ3JCLG1CQUFtQixFQUFFOzRCQUNuQix5QkFBeUIsRUFBRTtnQ0FDekIsV0FBVyxFQUFFO29DQUNYLGdCQUFnQixFQUFFLDJCQUEyQjtpQ0FDOUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2pCO3dCQUNFLElBQUksRUFBRSxvQkFBb0I7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLE1BQU0sRUFBRSxHQUFHO3dCQUNYLGFBQWEsRUFBRTs0QkFDYixZQUFZLEVBQUU7Z0NBQ1osa0JBQWtCLEVBQUUsS0FBSztnQ0FDekIsb0JBQW9CLEVBQUUsSUFBSTtnQ0FDMUIsZ0JBQWdCLEVBQUUsTUFBTTtnQ0FDeEIsVUFBVSxFQUFFLE9BQU87Z0NBQ25CLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFlBQVksRUFBRSxTQUFTO2dDQUN2QixRQUFRLEVBQUUsYUFBYTtnQ0FDdkIsc0JBQXNCLEVBQUU7b0NBQ3RCLFFBQVEsRUFBRSxZQUFZO29DQUN0QixNQUFNLEVBQUUsb0JBQW9CO29DQUM1QixRQUFRLEVBQUUsVUFBVTtpQ0FDckI7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsY0FBYyxFQUFFO29CQUNkLE1BQU0sRUFBRSxhQUFhO2lCQUN0QjtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXZGSCw4QkF3RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBd3MsXG59IGZyb20gJ2F3cy1jZGstbGliJztcblxuaW1wb3J0IHtcbiAgQ2ZuSW5wdXQsXG4gIENmbkNoYW5uZWwsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWxpdmUnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYUxpdmVQcm9wcyB7XG4gIHJlYWRvbmx5IHNvdXJjZVVybDogc3RyaW5nO1xuICByZWFkb25seSBtZWRpYVBhY2thZ2VDaGFubmVsSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZWNvZGVCdXJuaW5QcmVmaXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNZWRpYUxpdmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbDogQ2ZuQ2hhbm5lbDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB7XG4gICAgc291cmNlVXJsLFxuICAgIG1lZGlhUGFja2FnZUNoYW5uZWxJZCxcbiAgICB0aW1lY29kZUJ1cm5pblByZWZpeCxcbiAgfTogTWVkaWFMaXZlUHJvcHMpIHtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBDcmVhdGUgTWVkaWFMaXZlIGlucHV0XG4gICAgY29uc3QgaW5wdXQgPSBuZXcgQ2ZuSW5wdXQodGhpcywgJ015Q2ZuSW5wdXQnLCB7XG4gICAgICBuYW1lOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1MLUlucHV0JyxcbiAgICAgIHR5cGU6ICdNUDRfRklMRScsXG4gICAgICBzb3VyY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB1cmw6IHNvdXJjZVVybCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgLy8gQ3JlYXRlIE1lZGlhTGl2ZSBjaGFubmVsXG4gICAgdGhpcy5jaGFubmVsID0gbmV3IENmbkNoYW5uZWwodGhpcywgJ015Q2ZuQ2hhbm5lbCcsIHtcbiAgICAgIG5hbWU6IEF3cy5TVEFDS19OQU1FICsgJ19FTUwtQ2hhbm5lbCcsXG4gICAgICBjaGFubmVsQ2xhc3M6ICdTSU5HTEVfUElQRUxJTkUnLFxuICAgICAgaW5wdXRBdHRhY2htZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5wdXRJZDogaW5wdXQucmVmLFxuICAgICAgICAgIGlucHV0U2V0dGluZ3M6IHtcbiAgICAgICAgICAgIHNvdXJjZUVuZEJlaGF2aW9yOiAnTE9PUCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBkZXN0aW5hdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnTXlNZWRpYVBhY2thZ2VEZXN0aW5hdGlvbicsXG4gICAgICAgICAgbWVkaWFQYWNrYWdlU2V0dGluZ3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhbm5lbElkOiBtZWRpYVBhY2thZ2VDaGFubmVsSWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZW5jb2RlclNldHRpbmdzOiB7XG4gICAgICAgIG91dHB1dEdyb3VwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdNeU91dHB1dEdyb3VwJyxcbiAgICAgICAgICAgIG91dHB1dEdyb3VwU2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgbWVkaWFQYWNrYWdlR3JvdXBTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblJlZklkOiAnTXlNZWRpYVBhY2thZ2VEZXN0aW5hdGlvbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdmlkZW9EZXNjcmlwdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTXlWaWRlb0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgIHdpZHRoOiAxMjgwLFxuICAgICAgICAgICAgaGVpZ2h0OiA3MjAsXG4gICAgICAgICAgICBjb2RlY1NldHRpbmdzOiB7XG4gICAgICAgICAgICAgIGgyNjRTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogMzAwMDAsXG4gICAgICAgICAgICAgICAgZnJhbWVyYXRlRGVub21pbmF0b3I6IDEwMDEsXG4gICAgICAgICAgICAgICAgZnJhbWVyYXRlQ29udHJvbDogJ1FWQlInLFxuICAgICAgICAgICAgICAgIG1heEJpdHJhdGU6IDMwMDAwMDAsXG4gICAgICAgICAgICAgICAgZ29wU2l6ZTogMyxcbiAgICAgICAgICAgICAgICBnb3BTaXplVW5pdHM6ICdTRUNPTkRTJyxcbiAgICAgICAgICAgICAgICBzY2FuVHlwZTogJ1BST0dSRVNTSVZFJyxcbiAgICAgICAgICAgICAgICB0aW1lY29kZUJ1cm5pblNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ1RPUF9DRU5URVInLFxuICAgICAgICAgICAgICAgICAgcHJlZml4OiB0aW1lY29kZUJ1cm5pblByZWZpeCxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnTEFSR0VfNDgnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHRpbWVjb2RlQ29uZmlnOiB7XG4gICAgICAgICAgc291cmNlOiAnU1lTVEVNQ0xPQ0snLFxuICAgICAgICB9LFxuICAgICAgICBhdmFpbEJsYW5raW5nOiB7XG4gICAgICAgICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0= | ||
MediaLive[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.MediaLive", version: "0.0.5" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFMaXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01lZGlhTGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUdxQjtBQUVyQiw2REFHbUM7QUFFbkMsMkNBQXVDO0FBVXZDLE1BQWEsU0FBVSxTQUFRLHNCQUFTO0lBSXRDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsRUFDeEMsU0FBUyxFQUNULHFCQUFxQixFQUNyQixZQUFZLEdBQUcsaUJBQWlCLEVBQ2hDLGtCQUFrQixHQUFHLENBQUMsRUFDdEIsb0JBQW9CLEdBQ0w7UUFFZixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDZCQUE2QjtRQUM3QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHdCQUFRLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3BELElBQUksRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxZQUFZO1lBQ25DLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU87U0FDUixDQUFDLENBQUM7UUFDSCxnRUFBZ0U7UUFDaEUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDO1lBQ25ELFVBQVUsRUFBRTtnQkFDVixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixTQUFTLEVBQUU7d0JBQ1QsR0FBRztxQkFDSjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixjQUFjO3dCQUNkLDhCQUE4QjtxQkFDL0I7aUJBQ0YsQ0FBQzthQUNI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QkFDZCxNQUFNLEVBQUUsYUFBYTtpQkFDdEI7Z0JBQ0QsYUFBYSxFQUFFO29CQUNiLEtBQUssRUFBRSxTQUFTO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzTEgsOEJBNExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXdzLFxuICBhd3NfaWFtIGFzIGlhbSxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuXG5pbXBvcnQge1xuICBDZm5JbnB1dCxcbiAgQ2ZuQ2hhbm5lbCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhbGl2ZSc7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhTGl2ZVByb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlVXJsOiBzdHJpbmc7IC8vIFRoZSBVUkwgb2YgdGhlIE1QNCBmaWxlIHVzZWQgYnkgTWVkaWFMaXZlIGFzIHRoZSBzb3VyY2UuXG4gIHJlYWRvbmx5IG1lZGlhUGFja2FnZUNoYW5uZWxJZDogc3RyaW5nOyAvLyBUaGUgSUQgb2YgdGhlIE1lZGlhUGFja2FnZSBjaGFubmVsIHVzZWQgYXMgdGhlIGRlc3RpbmF0aW9uLlxuICByZWFkb25seSBjaGFubmVsQ2xhc3M/OiBzdHJpbmc7IC8vIFRoZSBjbGFzcyBvZiB0aGUgY2hhbm5lbC4gKFNUQU5EQVJEIG9yIFNJTkdMRV9QSVBFTElORSlcbiAgcmVhZG9ubHkgZ29wTGVuZ3RoSW5TZWNvbmRzPzogbnVtYmVyOyAvLyBUaGUgbGVuZ3RoIG9mIHRoZSBHT1AgaW4gc2Vjb25kcy5cbiAgcmVhZG9ubHkgdGltZWNvZGVCdXJuaW5QcmVmaXg/OiBzdHJpbmc7IC8vIFRoZSBwcmVmaXggZm9yIHRoZSB0aW1lY29kZSBidXJuLWluLlxufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFMaXZlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGlucHV0OiBDZm5JbnB1dDsgLy8gVGhlIHJlZmVyZW5jZSB0byB0aGUgTWVkaWFMaXZlIGlucHV0LlxuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbDogQ2ZuQ2hhbm5lbDsgLy8gVGhlIHJlZmVyZW5jZSB0byB0aGUgTWVkaWFMaXZlIGNoYW5uZWwuXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywge1xuICAgIHNvdXJjZVVybCxcbiAgICBtZWRpYVBhY2thZ2VDaGFubmVsSWQsXG4gICAgY2hhbm5lbENsYXNzID0gJ1NJTkdMRV9QSVBFTElORScsXG4gICAgZ29wTGVuZ3RoSW5TZWNvbmRzID0gMyxcbiAgICB0aW1lY29kZUJ1cm5pblByZWZpeCxcbiAgfTogTWVkaWFMaXZlUHJvcHMpIHtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBDcmVhdGUgTWVkaWFMaXZlIE1QNCBpbnB1dFxuICAgIGNvbnN0IHNvdXJjZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjaGFubmVsQ2xhc3MgPT09ICdTVEFOREFSRCcgPyAyIDogMSB9LCAoKSA9PiAoeyB1cmw6IHNvdXJjZVVybCB9KSk7XG4gICAgdGhpcy5pbnB1dCA9IG5ldyBDZm5JbnB1dCh0aGlzLCAnTWVkaWFMaXZlLUNmbklucHV0Jywge1xuICAgICAgbmFtZTogQXdzLlNUQUNLX05BTUUgKyAnX0VNTC1JbnB1dCcsXG4gICAgICB0eXBlOiAnTVA0X0ZJTEUnLFxuICAgICAgc291cmNlcyxcbiAgICB9KTtcbiAgICAvLyBDcmVhdGUgSUFNIFBvbGljeSBmb3IgTWVkaWFMaXZlIHRvIGFjY2VzcyBNZWRpYVBhY2thZ2UgYW5kIFMzXG4gICAgY29uc3QgY3VzdG9tUG9saWN5TWVkaWFMaXZlID0gbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICcqJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdzMzpMaXN0QnVja2V0JyxcbiAgICAgICAgICAgICdzMzpHZXRPYmplY3QnLFxuICAgICAgICAgICAgJ21lZGlhcGFja2FnZTpEZXNjcmliZUNoYW5uZWwnLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcbiAgICAvL0NyZWF0ZSBhIFJvbGUgZm9yIE1lZGlhTGl2ZSB0byBhY2Nlc3MgTWVkaWFQYWNrYWdlIGFuZCBTM1xuICAgIGNvbnN0IHJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ01lZGlhTGl2ZUFjY2Vzc1JvbGUnLCB7XG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBwb2xpY3k6IGN1c3RvbVBvbGljeU1lZGlhTGl2ZSxcbiAgICAgIH0sXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnbWVkaWFsaXZlLmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcbiAgICAvLyBDcmVhdGUgTWVkaWFMaXZlIGNoYW5uZWxcbiAgICB0aGlzLmNoYW5uZWwgPSBuZXcgQ2ZuQ2hhbm5lbCh0aGlzLCAnTWVkaWFMaXZlLUNmbkNoYW5uZWwnLCB7XG4gICAgICBuYW1lOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1MLUNoYW5uZWwnLFxuICAgICAgY2hhbm5lbENsYXNzLFxuICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgaW5wdXRBdHRhY2htZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5wdXRJZDogdGhpcy5pbnB1dC5yZWYsXG4gICAgICAgICAgaW5wdXRTZXR0aW5nczoge1xuICAgICAgICAgICAgc291cmNlRW5kQmVoYXZpb3I6ICdMT09QJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGRlc3RpbmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdNeU1lZGlhUGFja2FnZURlc3RpbmF0aW9uJyxcbiAgICAgICAgICBtZWRpYVBhY2thZ2VTZXR0aW5nczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjaGFubmVsSWQ6IG1lZGlhUGFja2FnZUNoYW5uZWxJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBlbmNvZGVyU2V0dGluZ3M6IHtcbiAgICAgICAgb3V0cHV0R3JvdXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ015T3V0cHV0R3JvdXAnLFxuICAgICAgICAgICAgb3V0cHV0R3JvdXBTZXR0aW5nczoge1xuICAgICAgICAgICAgICBtZWRpYVBhY2thZ2VHcm91cFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uUmVmSWQ6ICdNeU1lZGlhUGFja2FnZURlc3RpbmF0aW9uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG91dHB1dE5hbWU6ICdfNjQweDM2MCcsXG4gICAgICAgICAgICAgICAgb3V0cHV0U2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgIG1lZGlhUGFja2FnZU91dHB1dFNldHRpbmdzOiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZpZGVvRGVzY3JpcHRpb25OYW1lOiAnXzY0MHgzNjAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3V0cHV0TmFtZTogJ185NjB4NTQwJyxcbiAgICAgICAgICAgICAgICBvdXRwdXRTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgbWVkaWFQYWNrYWdlT3V0cHV0U2V0dGluZ3M6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmlkZW9EZXNjcmlwdGlvbk5hbWU6ICdfOTYweDU0MCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvdXRwdXROYW1lOiAnXzEyODB4NzIwJyxcbiAgICAgICAgICAgICAgICBvdXRwdXRTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgbWVkaWFQYWNrYWdlT3V0cHV0U2V0dGluZ3M6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmlkZW9EZXNjcmlwdGlvbk5hbWU6ICdfMTI4MHg3MjAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB2aWRlb0Rlc2NyaXB0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdfNjQweDM2MCcsXG4gICAgICAgICAgICB3aWR0aDogNjQwLFxuICAgICAgICAgICAgaGVpZ2h0OiAzNjAsXG4gICAgICAgICAgICBjb2RlY1NldHRpbmdzOiB7XG4gICAgICAgICAgICAgIGgyNjRTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIGZyYW1lcmF0ZUNvbnRyb2w6ICdTUEVDSUZJRUQnLFxuICAgICAgICAgICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogMzAwMDAsXG4gICAgICAgICAgICAgICAgZnJhbWVyYXRlRGVub21pbmF0b3I6IDEwMDEsXG4gICAgICAgICAgICAgICAgcGFyQ29udHJvbDogJ1NQRUNJRklFRCcsXG4gICAgICAgICAgICAgICAgcGFyTnVtZXJhdG9yOiAxLFxuICAgICAgICAgICAgICAgIHBhckRlbm9taW5hdG9yOiAxLFxuICAgICAgICAgICAgICAgIHJhdGVDb250cm9sTW9kZTogJ1FWQlInLFxuICAgICAgICAgICAgICAgIG1heEJpdHJhdGU6IDEwMDAwMDAsXG4gICAgICAgICAgICAgICAgZ29wU2l6ZTogZ29wTGVuZ3RoSW5TZWNvbmRzLFxuICAgICAgICAgICAgICAgIGdvcFNpemVVbml0czogJ1NFQ09ORFMnLFxuICAgICAgICAgICAgICAgIHNjYW5UeXBlOiAnUFJPR1JFU1NJVkUnLFxuICAgICAgICAgICAgICAgIHRpbWVjb2RlQnVybmluU2V0dGluZ3M6IHRpbWVjb2RlQnVybmluUHJlZml4ID8ge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdUT1BfQ0VOVEVSJyxcbiAgICAgICAgICAgICAgICAgIHByZWZpeDogYCR7dGltZWNvZGVCdXJuaW5QcmVmaXh9XzY0MHgzNjBgLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICdTTUFMTF8xNicsXG4gICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnXzk2MHg1NDAnLFxuICAgICAgICAgICAgd2lkdGg6IDk2MCxcbiAgICAgICAgICAgIGhlaWdodDogNTQwLFxuICAgICAgICAgICAgY29kZWNTZXR0aW5nczoge1xuICAgICAgICAgICAgICBoMjY0U2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICBmcmFtZXJhdGVDb250cm9sOiAnU1BFQ0lGSUVEJyxcbiAgICAgICAgICAgICAgICBmcmFtZXJhdGVOdW1lcmF0b3I6IDMwMDAwLFxuICAgICAgICAgICAgICAgIGZyYW1lcmF0ZURlbm9taW5hdG9yOiAxMDAxLFxuICAgICAgICAgICAgICAgIHBhckNvbnRyb2w6ICdTUEVDSUZJRUQnLFxuICAgICAgICAgICAgICAgIHBhck51bWVyYXRvcjogMSxcbiAgICAgICAgICAgICAgICBwYXJEZW5vbWluYXRvcjogMSxcbiAgICAgICAgICAgICAgICByYXRlQ29udHJvbE1vZGU6ICdRVkJSJyxcbiAgICAgICAgICAgICAgICBtYXhCaXRyYXRlOiAyMDAwMDAwLFxuICAgICAgICAgICAgICAgIGdvcFNpemU6IGdvcExlbmd0aEluU2Vjb25kcyxcbiAgICAgICAgICAgICAgICBnb3BTaXplVW5pdHM6ICdTRUNPTkRTJyxcbiAgICAgICAgICAgICAgICBzY2FuVHlwZTogJ1BST0dSRVNTSVZFJyxcbiAgICAgICAgICAgICAgICB0aW1lY29kZUJ1cm5pblNldHRpbmdzOiB0aW1lY29kZUJ1cm5pblByZWZpeCA/IHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnVE9QX0NFTlRFUicsXG4gICAgICAgICAgICAgICAgICBwcmVmaXg6IGAke3RpbWVjb2RlQnVybmluUHJlZml4fV85NjB4NTQwYCxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnTUVESVVNXzMyJyxcbiAgICAgICAgICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdfMTI4MHg3MjAnLFxuICAgICAgICAgICAgd2lkdGg6IDEyODAsXG4gICAgICAgICAgICBoZWlnaHQ6IDcyMCxcbiAgICAgICAgICAgIGNvZGVjU2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgaDI2NFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgZnJhbWVyYXRlQ29udHJvbDogJ1NQRUNJRklFRCcsXG4gICAgICAgICAgICAgICAgZnJhbWVyYXRlTnVtZXJhdG9yOiAzMDAwMCxcbiAgICAgICAgICAgICAgICBmcmFtZXJhdGVEZW5vbWluYXRvcjogMTAwMSxcbiAgICAgICAgICAgICAgICBwYXJDb250cm9sOiAnU1BFQ0lGSUVEJyxcbiAgICAgICAgICAgICAgICBwYXJOdW1lcmF0b3I6IDEsXG4gICAgICAgICAgICAgICAgcGFyRGVub21pbmF0b3I6IDEsXG4gICAgICAgICAgICAgICAgcmF0ZUNvbnRyb2xNb2RlOiAnUVZCUicsXG4gICAgICAgICAgICAgICAgbWF4Qml0cmF0ZTogMzAwMDAwMCxcbiAgICAgICAgICAgICAgICBnb3BTaXplOiBnb3BMZW5ndGhJblNlY29uZHMsXG4gICAgICAgICAgICAgICAgZ29wU2l6ZVVuaXRzOiAnU0VDT05EUycsXG4gICAgICAgICAgICAgICAgc2NhblR5cGU6ICdQUk9HUkVTU0lWRScsXG4gICAgICAgICAgICAgICAgdGltZWNvZGVCdXJuaW5TZXR0aW5nczogdGltZWNvZGVCdXJuaW5QcmVmaXggPyB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ1RPUF9DRU5URVInLFxuICAgICAgICAgICAgICAgICAgcHJlZml4OiBgJHt0aW1lY29kZUJ1cm5pblByZWZpeH1fMTI4MHg3MjBgLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICdMQVJHRV80OCcsXG4gICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGltZWNvZGVDb25maWc6IHtcbiAgICAgICAgICBzb3VyY2U6ICdTWVNURU1DTE9DSycsXG4gICAgICAgIH0sXG4gICAgICAgIGF2YWlsQmxhbmtpbmc6IHtcbiAgICAgICAgICBzdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufSJdfQ== |
import { CfnChannel, CfnOriginEndpoint } from 'aws-cdk-lib/aws-mediapackage'; | ||
import { Construct } from 'constructs'; | ||
export interface MediaPakcageProps { | ||
readonly hlsAdMarkers: string; | ||
readonly segmentDurationSeconds?: number; | ||
readonly manifestWindowSeconds?: number; | ||
readonly hlsAdMarkers?: string; | ||
} | ||
@@ -15,3 +17,3 @@ export interface MediaPackageEndpointsTable { | ||
readonly endpoints: MediaPackageEndpointsTable; | ||
constructor(scope: Construct, id: string, { hlsAdMarkers, }: MediaPakcageProps); | ||
constructor(scope: Construct, id: string, { segmentDurationSeconds, manifestWindowSeconds, hlsAdMarkers, }: MediaPakcageProps); | ||
} |
@@ -10,6 +10,6 @@ "use strict"; | ||
class MediaPackage extends constructs_1.Construct { | ||
constructor(scope, id, { hlsAdMarkers, }) { | ||
constructor(scope, id, { segmentDurationSeconds = 6, manifestWindowSeconds = 60, hlsAdMarkers = 'DATERANGE', }) { | ||
super(scope, id); | ||
// Create MediaPackage channel | ||
this.channel = new aws_mediapackage_1.CfnChannel(this, 'MyCfnChannel', { | ||
this.channel = new aws_mediapackage_1.CfnChannel(this, 'MediaPackage-CfnChannel', { | ||
id: aws_cdk_lib_1.Aws.STACK_NAME + '_EMP-Channel', | ||
@@ -20,3 +20,3 @@ description: 'MediaPackage channel for testing', | ||
this.endpoints = { | ||
hls: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MyHLSEndpoint', { | ||
hls: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MMediaPackage-HLSEndpoint', { | ||
channelId: this.channel.id, | ||
@@ -26,4 +26,4 @@ id: aws_cdk_lib_1.Aws.STACK_NAME + '_EMP-HLSEndpoint', | ||
hlsPackage: { | ||
segmentDurationSeconds: 6, | ||
playlistWindowSeconds: 60, | ||
segmentDurationSeconds, | ||
playlistWindowSeconds: manifestWindowSeconds, | ||
adMarkers: hlsAdMarkers, | ||
@@ -34,3 +34,3 @@ adTriggers: ['SPLICE_INSERT'], | ||
}), | ||
dash: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MyDASHEndpoint', { | ||
dash: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MMediaPackage-DASHEndpoint', { | ||
channelId: this.channel.id, | ||
@@ -40,4 +40,4 @@ id: aws_cdk_lib_1.Aws.STACK_NAME + '_EMP-DASHEndpoint', | ||
dashPackage: { | ||
segmentDurationSeconds: 6, | ||
manifestWindowSeconds: 60, | ||
segmentDurationSeconds, | ||
manifestWindowSeconds, | ||
periodTriggers: ['ADS'], | ||
@@ -47,3 +47,3 @@ adTriggers: ['SPLICE_INSERT'], | ||
}), | ||
cmaf: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MyCMAFEndpoint', { | ||
cmaf: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MMediaPackage-CMAFEndpoint', { | ||
channelId: this.channel.id, | ||
@@ -53,6 +53,7 @@ id: aws_cdk_lib_1.Aws.STACK_NAME + '_EMP-CMAFEndpoint', | ||
cmafPackage: { | ||
segmentDurationSeconds: 6, | ||
segmentDurationSeconds, | ||
hlsManifests: [ | ||
{ | ||
id: '1', | ||
playlistWindowSeconds: manifestWindowSeconds, | ||
adMarkers: hlsAdMarkers, | ||
@@ -65,7 +66,10 @@ adTriggers: ['SPLICE_INSERT'], | ||
}), | ||
mss: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MyMSSEndpoint', { | ||
mss: new aws_mediapackage_1.CfnOriginEndpoint(this, 'MMediaPackage-MSSEndpoint', { | ||
channelId: this.channel.id, | ||
id: aws_cdk_lib_1.Aws.STACK_NAME + '_EMP-MSSEndpoint', | ||
description: 'MediaPackage MSS endpoint for testing', | ||
mssPackage: {}, | ||
mssPackage: { | ||
segmentDurationSeconds, | ||
manifestWindowSeconds, | ||
}, | ||
}), | ||
@@ -77,3 +81,3 @@ }; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
MediaPackage[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.MediaPackage", version: "0.0.3" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFQYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01lZGlhUGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUVxQjtBQUVyQixtRUFHc0M7QUFFdEMsMkNBQXVDO0FBYXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBSXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsRUFDeEMsWUFBWSxHQUNNO1FBRWxCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw2QkFBVSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEQsRUFBRSxFQUFFLGlCQUFHLENBQUMsVUFBVSxHQUFHLGNBQWM7WUFDbkMsV0FBVyxFQUFFLGtDQUFrQztTQUNoRCxDQUFDLENBQUM7UUFDSCxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLEdBQUcsRUFBRSxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7Z0JBQ2hELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxrQkFBa0I7Z0JBQ3ZDLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELFVBQVUsRUFBRTtvQkFDVixzQkFBc0IsRUFBRSxDQUFDO29CQUN6QixxQkFBcUIsRUFBRSxFQUFFO29CQUN6QixTQUFTLEVBQUUsWUFBWTtvQkFDdkIsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM3Qiw4QkFBOEIsRUFBRSxDQUFDO2lCQUNsQzthQUNGLENBQUM7WUFDRixJQUFJLEVBQUUsSUFBSSxvQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ2xELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxtQkFBbUI7Z0JBQ3hDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFdBQVcsRUFBRTtvQkFDWCxzQkFBc0IsRUFBRSxDQUFDO29CQUN6QixxQkFBcUIsRUFBRSxFQUFFO29CQUN6QixjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUM7b0JBQ3ZCLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDOUI7YUFDRixDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksb0NBQWlCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUNsRCxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixFQUFFLEVBQUUsaUJBQUcsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CO2dCQUN4QyxXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxXQUFXLEVBQUU7b0JBQ1gsc0JBQXNCLEVBQUUsQ0FBQztvQkFDekIsWUFBWSxFQUFFO3dCQUNaOzRCQUNFLEVBQUUsRUFBRSxHQUFHOzRCQUNQLFNBQVMsRUFBRSxZQUFZOzRCQUN2QixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQzdCLDhCQUE4QixFQUFFLENBQUM7eUJBQ2xDO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLEdBQUcsRUFBRSxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7Z0JBQ2hELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxrQkFBa0I7Z0JBQ3ZDLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELFVBQVUsRUFBRSxFQUFFO2FBQ2YsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDOztBQS9ESCxvQ0FnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBd3MsXG59IGZyb20gJ2F3cy1jZGstbGliJztcblxuaW1wb3J0IHtcbiAgQ2ZuQ2hhbm5lbCxcbiAgQ2ZuT3JpZ2luRW5kcG9pbnQsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYXBhY2thZ2UnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYVBha2NhZ2VQcm9wcyB7XG4gIHJlYWRvbmx5IGhsc0FkTWFya2Vyczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhUGFja2FnZUVuZHBvaW50c1RhYmxlIHtcbiAgcmVhZG9ubHkgaGxzOiBDZm5PcmlnaW5FbmRwb2ludDtcbiAgcmVhZG9ubHkgZGFzaDogQ2ZuT3JpZ2luRW5kcG9pbnQ7XG4gIHJlYWRvbmx5IGNtYWY6IENmbk9yaWdpbkVuZHBvaW50O1xuICByZWFkb25seSBtc3M6IENmbk9yaWdpbkVuZHBvaW50O1xufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFQYWNrYWdlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWw6IENmbkNoYW5uZWw7XG4gIHB1YmxpYyByZWFkb25seSBlbmRwb2ludHM6IE1lZGlhUGFja2FnZUVuZHBvaW50c1RhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHtcbiAgICBobHNBZE1hcmtlcnMsXG4gIH06IE1lZGlhUGFrY2FnZVByb3BzKSB7XG5cbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gQ3JlYXRlIE1lZGlhUGFja2FnZSBjaGFubmVsXG4gICAgdGhpcy5jaGFubmVsID0gbmV3IENmbkNoYW5uZWwodGhpcywgJ015Q2ZuQ2hhbm5lbCcsIHtcbiAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLUNoYW5uZWwnLFxuICAgICAgZGVzY3JpcHRpb246ICdNZWRpYVBhY2thZ2UgY2hhbm5lbCBmb3IgdGVzdGluZycsXG4gICAgfSk7XG4gICAgLy8gQ3JlYXRlIE1lZGlhUGFja2FnZSBlbmRwb2ludHNcbiAgICB0aGlzLmVuZHBvaW50cyA9IHtcbiAgICAgIGhsczogbmV3IENmbk9yaWdpbkVuZHBvaW50KHRoaXMsICdNeUhMU0VuZHBvaW50Jywge1xuICAgICAgICBjaGFubmVsSWQ6IHRoaXMuY2hhbm5lbC5pZCxcbiAgICAgICAgaWQ6IEF3cy5TVEFDS19OQU1FICsgJ19FTVAtSExTRW5kcG9pbnQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ01lZGlhUGFja2FnZSBITFMgZW5kcG9pbnQgZm9yIHRlc3RpbmcnLFxuICAgICAgICBobHNQYWNrYWdlOiB7XG4gICAgICAgICAgc2VnbWVudER1cmF0aW9uU2Vjb25kczogNixcbiAgICAgICAgICBwbGF5bGlzdFdpbmRvd1NlY29uZHM6IDYwLFxuICAgICAgICAgIGFkTWFya2VyczogaGxzQWRNYXJrZXJzLFxuICAgICAgICAgIGFkVHJpZ2dlcnM6IFsnU1BMSUNFX0lOU0VSVCddLFxuICAgICAgICAgIHByb2dyYW1EYXRlVGltZUludGVydmFsU2Vjb25kczogMSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZGFzaDogbmV3IENmbk9yaWdpbkVuZHBvaW50KHRoaXMsICdNeURBU0hFbmRwb2ludCcsIHtcbiAgICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWwuaWQsXG4gICAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLURBU0hFbmRwb2ludCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWVkaWFQYWNrYWdlIERBU0ggZW5kcG9pbnQgZm9yIHRlc3RpbmcnLFxuICAgICAgICBkYXNoUGFja2FnZToge1xuICAgICAgICAgIHNlZ21lbnREdXJhdGlvblNlY29uZHM6IDYsXG4gICAgICAgICAgbWFuaWZlc3RXaW5kb3dTZWNvbmRzOiA2MCxcbiAgICAgICAgICBwZXJpb2RUcmlnZ2VyczogWydBRFMnXSxcbiAgICAgICAgICBhZFRyaWdnZXJzOiBbJ1NQTElDRV9JTlNFUlQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgY21hZjogbmV3IENmbk9yaWdpbkVuZHBvaW50KHRoaXMsICdNeUNNQUZFbmRwb2ludCcsIHtcbiAgICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWwuaWQsXG4gICAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLUNNQUZFbmRwb2ludCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWVkaWFQYWNrYWdlIENNQUYgZW5kcG9pbnQgZm9yIHRlc3RpbmcnLFxuICAgICAgICBjbWFmUGFja2FnZToge1xuICAgICAgICAgIHNlZ21lbnREdXJhdGlvblNlY29uZHM6IDYsXG4gICAgICAgICAgaGxzTWFuaWZlc3RzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgIGFkTWFya2VyczogaGxzQWRNYXJrZXJzLFxuICAgICAgICAgICAgICBhZFRyaWdnZXJzOiBbJ1NQTElDRV9JTlNFUlQnXSxcbiAgICAgICAgICAgICAgcHJvZ3JhbURhdGVUaW1lSW50ZXJ2YWxTZWNvbmRzOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBtc3M6IG5ldyBDZm5PcmlnaW5FbmRwb2ludCh0aGlzLCAnTXlNU1NFbmRwb2ludCcsIHtcbiAgICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWwuaWQsXG4gICAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLU1TU0VuZHBvaW50JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdNZWRpYVBhY2thZ2UgTVNTIGVuZHBvaW50IGZvciB0ZXN0aW5nJyxcbiAgICAgICAgbXNzUGFja2FnZToge30sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG59XG4iXX0= | ||
MediaPackage[_a] = { fqn: "awscdk-construct-live-channel-from-mp4-file.MediaPackage", version: "0.0.5" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFQYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01lZGlhUGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUVxQjtBQUVyQixtRUFHc0M7QUFFdEMsMkNBQXVDO0FBZXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBSXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsRUFDeEMsc0JBQXNCLEdBQUcsQ0FBQyxFQUMxQixxQkFBcUIsR0FBRyxFQUFFLEVBQzFCLFlBQVksR0FBRyxXQUFXLEdBQ1I7UUFFbEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDZCQUFVLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQzdELEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxjQUFjO1lBQ25DLFdBQVcsRUFBRSxrQ0FBa0M7U0FDaEQsQ0FBQyxDQUFDO1FBQ0gsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixHQUFHLEVBQUUsSUFBSSxvQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUU7Z0JBQzVELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxrQkFBa0I7Z0JBQ3ZDLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELFVBQVUsRUFBRTtvQkFDVixzQkFBc0I7b0JBQ3RCLHFCQUFxQixFQUFFLHFCQUFxQjtvQkFDNUMsU0FBUyxFQUFFLFlBQVk7b0JBQ3ZCLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDN0IsOEJBQThCLEVBQUUsQ0FBQztpQkFDbEM7YUFDRixDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksb0NBQWlCLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO2dCQUM5RCxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixFQUFFLEVBQUUsaUJBQUcsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CO2dCQUN4QyxXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxXQUFXLEVBQUU7b0JBQ1gsc0JBQXNCO29CQUN0QixxQkFBcUI7b0JBQ3JCLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQztvQkFDdkIsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM5QjthQUNGLENBQUM7WUFDRixJQUFJLEVBQUUsSUFBSSxvQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7Z0JBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLEVBQUUsRUFBRSxpQkFBRyxDQUFDLFVBQVUsR0FBRyxtQkFBbUI7Z0JBQ3hDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFdBQVcsRUFBRTtvQkFDWCxzQkFBc0I7b0JBQ3RCLFlBQVksRUFBRTt3QkFDWjs0QkFDRSxFQUFFLEVBQUUsR0FBRzs0QkFDUCxxQkFBcUIsRUFBRSxxQkFBcUI7NEJBQzVDLFNBQVMsRUFBRSxZQUFZOzRCQUN2QixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQzdCLDhCQUE4QixFQUFFLENBQUM7eUJBQ2xDO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLEdBQUcsRUFBRSxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRTtnQkFDNUQsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsRUFBRSxFQUFFLGlCQUFHLENBQUMsVUFBVSxHQUFHLGtCQUFrQjtnQkFDdkMsV0FBVyxFQUFFLHVDQUF1QztnQkFDcEQsVUFBVSxFQUFFO29CQUNWLHNCQUFzQjtvQkFDdEIscUJBQXFCO2lCQUN0QjthQUNGLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUFyRUgsb0NBc0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXdzLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmltcG9ydCB7XG4gIENmbkNoYW5uZWwsXG4gIENmbk9yaWdpbkVuZHBvaW50LFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFwYWNrYWdlJztcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFQYWtjYWdlUHJvcHMge1xuICByZWFkb25seSBzZWdtZW50RHVyYXRpb25TZWNvbmRzPzogbnVtYmVyOyAvLyBUaGUgZHVyYXRpb24gb2YgZWFjaCBzZWdtZW50IGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IG1hbmlmZXN0V2luZG93U2Vjb25kcz86IG51bWJlcjsgLy8gVGhlIGR1cmF0aW9uIG9mIG1hbmlmZXN0IGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IGhsc0FkTWFya2Vycz86IHN0cmluZzsgLy8gQ29udHJvbHMgaG93IGFkIG1hcmtlcnMgYXJlIGluY2x1ZGVkIGluIHRoZSBwYWNrYWdlZCBlbmRwb2ludC5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYVBhY2thZ2VFbmRwb2ludHNUYWJsZSB7XG4gIHJlYWRvbmx5IGhsczogQ2ZuT3JpZ2luRW5kcG9pbnQ7IC8vIFRoZSBITFMgZW5kcG9pbnQuXG4gIHJlYWRvbmx5IGRhc2g6IENmbk9yaWdpbkVuZHBvaW50OyAvLyBUaGUgREFTSCBlbmRwb2ludC5cbiAgcmVhZG9ubHkgY21hZjogQ2ZuT3JpZ2luRW5kcG9pbnQ7IC8vIFRoZSBDTUFGIGVuZHBvaW50LlxuICByZWFkb25seSBtc3M6IENmbk9yaWdpbkVuZHBvaW50OyAvLyBUaGUgTVNTIGVuZHBvaW50LlxufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFQYWNrYWdlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWw6IENmbkNoYW5uZWw7IC8vIFRoZSByZWZlcmVuY2UgdG8gdGhlIE1lZGlhUGFja2FnZSBjaGFubmVsLlxuICBwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRzOiBNZWRpYVBhY2thZ2VFbmRwb2ludHNUYWJsZTsgLy8gVGhlIHJlZmVyZW5jZSB0byB0aGUgTWVkaWFQYWNrYWdlIGVuZHBvaW50cy5cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB7XG4gICAgc2VnbWVudER1cmF0aW9uU2Vjb25kcyA9IDYsXG4gICAgbWFuaWZlc3RXaW5kb3dTZWNvbmRzID0gNjAsXG4gICAgaGxzQWRNYXJrZXJzID0gJ0RBVEVSQU5HRScsXG4gIH06IE1lZGlhUGFrY2FnZVByb3BzKSB7XG5cbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gQ3JlYXRlIE1lZGlhUGFja2FnZSBjaGFubmVsXG4gICAgdGhpcy5jaGFubmVsID0gbmV3IENmbkNoYW5uZWwodGhpcywgJ01lZGlhUGFja2FnZS1DZm5DaGFubmVsJywge1xuICAgICAgaWQ6IEF3cy5TVEFDS19OQU1FICsgJ19FTVAtQ2hhbm5lbCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ01lZGlhUGFja2FnZSBjaGFubmVsIGZvciB0ZXN0aW5nJyxcbiAgICB9KTtcbiAgICAvLyBDcmVhdGUgTWVkaWFQYWNrYWdlIGVuZHBvaW50c1xuICAgIHRoaXMuZW5kcG9pbnRzID0ge1xuICAgICAgaGxzOiBuZXcgQ2ZuT3JpZ2luRW5kcG9pbnQodGhpcywgJ01NZWRpYVBhY2thZ2UtSExTRW5kcG9pbnQnLCB7XG4gICAgICAgIGNoYW5uZWxJZDogdGhpcy5jaGFubmVsLmlkLFxuICAgICAgICBpZDogQXdzLlNUQUNLX05BTUUgKyAnX0VNUC1ITFNFbmRwb2ludCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWVkaWFQYWNrYWdlIEhMUyBlbmRwb2ludCBmb3IgdGVzdGluZycsXG4gICAgICAgIGhsc1BhY2thZ2U6IHtcbiAgICAgICAgICBzZWdtZW50RHVyYXRpb25TZWNvbmRzLFxuICAgICAgICAgIHBsYXlsaXN0V2luZG93U2Vjb25kczogbWFuaWZlc3RXaW5kb3dTZWNvbmRzLFxuICAgICAgICAgIGFkTWFya2VyczogaGxzQWRNYXJrZXJzLFxuICAgICAgICAgIGFkVHJpZ2dlcnM6IFsnU1BMSUNFX0lOU0VSVCddLFxuICAgICAgICAgIHByb2dyYW1EYXRlVGltZUludGVydmFsU2Vjb25kczogMSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZGFzaDogbmV3IENmbk9yaWdpbkVuZHBvaW50KHRoaXMsICdNTWVkaWFQYWNrYWdlLURBU0hFbmRwb2ludCcsIHtcbiAgICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWwuaWQsXG4gICAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLURBU0hFbmRwb2ludCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWVkaWFQYWNrYWdlIERBU0ggZW5kcG9pbnQgZm9yIHRlc3RpbmcnLFxuICAgICAgICBkYXNoUGFja2FnZToge1xuICAgICAgICAgIHNlZ21lbnREdXJhdGlvblNlY29uZHMsXG4gICAgICAgICAgbWFuaWZlc3RXaW5kb3dTZWNvbmRzLFxuICAgICAgICAgIHBlcmlvZFRyaWdnZXJzOiBbJ0FEUyddLFxuICAgICAgICAgIGFkVHJpZ2dlcnM6IFsnU1BMSUNFX0lOU0VSVCddLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBjbWFmOiBuZXcgQ2ZuT3JpZ2luRW5kcG9pbnQodGhpcywgJ01NZWRpYVBhY2thZ2UtQ01BRkVuZHBvaW50Jywge1xuICAgICAgICBjaGFubmVsSWQ6IHRoaXMuY2hhbm5lbC5pZCxcbiAgICAgICAgaWQ6IEF3cy5TVEFDS19OQU1FICsgJ19FTVAtQ01BRkVuZHBvaW50JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdNZWRpYVBhY2thZ2UgQ01BRiBlbmRwb2ludCBmb3IgdGVzdGluZycsXG4gICAgICAgIGNtYWZQYWNrYWdlOiB7XG4gICAgICAgICAgc2VnbWVudER1cmF0aW9uU2Vjb25kcyxcbiAgICAgICAgICBobHNNYW5pZmVzdHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgcGxheWxpc3RXaW5kb3dTZWNvbmRzOiBtYW5pZmVzdFdpbmRvd1NlY29uZHMsXG4gICAgICAgICAgICAgIGFkTWFya2VyczogaGxzQWRNYXJrZXJzLFxuICAgICAgICAgICAgICBhZFRyaWdnZXJzOiBbJ1NQTElDRV9JTlNFUlQnXSxcbiAgICAgICAgICAgICAgcHJvZ3JhbURhdGVUaW1lSW50ZXJ2YWxTZWNvbmRzOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBtc3M6IG5ldyBDZm5PcmlnaW5FbmRwb2ludCh0aGlzLCAnTU1lZGlhUGFja2FnZS1NU1NFbmRwb2ludCcsIHtcbiAgICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWwuaWQsXG4gICAgICAgIGlkOiBBd3MuU1RBQ0tfTkFNRSArICdfRU1QLU1TU0VuZHBvaW50JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdNZWRpYVBhY2thZ2UgTVNTIGVuZHBvaW50IGZvciB0ZXN0aW5nJyxcbiAgICAgICAgbXNzUGFja2FnZToge1xuICAgICAgICAgIHNlZ21lbnREdXJhdGlvblNlY29uZHMsXG4gICAgICAgICAgbWFuaWZlc3RXaW5kb3dTZWNvbmRzLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuIl19 |
@@ -74,3 +74,3 @@ { | ||
"license": "MIT", | ||
"version": "0.0.3", | ||
"version": "0.0.5", | ||
"jest": { | ||
@@ -77,0 +77,0 @@ "testMatch": [ |
@@ -5,7 +5,12 @@ # awscdk-construct-live-channel-from-mp4-file | ||
CDK Construct for setting up a simple live channel for testing | ||
* The input is MP4 file with loop playback | ||
* The input is an MP4 file with loop playback | ||
* The output is a live channel with: | ||
* a single-pipeline MediaLive channel | ||
* a MediaLive channel with 29.97fps, 3x bitrates (720p/540p/360p) | ||
* a MediaPackage v1 channel with HLS/DASH/MSS/CMAF endpoints | ||
* You can overlay timecode with a prefix | ||
* You can add timecode overay with a prefix for visual confirmation | ||
* You can configure: | ||
* Channel class: STANDARD or SINGLE_PIPELINE | ||
* GOP length | ||
* Segment length | ||
* Manifest length | ||
@@ -28,4 +33,8 @@ ## Install | ||
sourceUrl: 'https://example.com/test.mp4', | ||
timecodeBurninPrefix: 'Channel-1', | ||
hlsAdMarkers: 'DATERANGE', | ||
channelClass: 'STANDARD', // optional: default = 'SINGLE_PIPELINE' | ||
gopLengthInSeconds: 2, // optional: default = 3 | ||
segmentDurationSeconds: 4, // optional: default = 6 | ||
manifestWindowSeconds: 20, // optional: default = 60 | ||
timecodeBurninPrefix: 'Channel-1', // optional: default = no timecode overlay | ||
hlsAdMarkers: 'SCTE_ENHANCED', // optional: default = DATERANGE | ||
}); | ||
@@ -32,0 +41,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
197852
361
56
1