MediaLive 예제 사용 AWS CLI - AWS Command Line Interface

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

MediaLive 예제 사용 AWS CLI

다음 코드 예제는 with를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 MediaLive. AWS Command Line Interface

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 상황에 맞게 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시에서는 create-channel을 사용하는 방법을 보여 줍니다.

AWS CLI

채널을 만들려면

다음 create-channel 예제에서는 지정하려는 매개변수가 포함된 JSON 파일을 전달하여 채널을 만듭니다.

이 예제의 채널은 비디오, 오디오 및 포함된 캡션이 포함된 소스에 연결되는 HLS PULL 입력을 인제스트합니다. 채널은 Akamai 서버를 대상으로 하는 하나의 HLS 출력 그룹을 생성합니다. 출력 그룹에는 두 개의 출력이 포함됩니다. 하나는 H.265 비디오 및 AAC 오디오용이고 다른 하나는 영어로만 제공되는 웹 VTT 캡션용입니다.

이 예제의 채널에는 HLS PULL 입력을 사용하고 Akamai를 대상으로 하는 HLS 출력 그룹을 생성하는 채널에 필요한 최소 매개 변수가 포함되어 있습니다. JSON JSON에는 다음과 같은 기본 섹션이 포함됩니다.

InputAttachments는 오디오 소스 하나와 캡션 소스 하나를 지정합니다. 비디오 선택기를 지정하지 않습니다. 즉, 소스에서 찾은 첫 번째 비디오를 MediaLive 추출합니다. Destinations에는 이 채널의 단일 출력 그룹에 대한 두 개의 IP 주소 (URLs) 가 포함됩니다. 이러한 주소에는 비밀번호가 필요합니다. EncoderSettings하위 섹션이 포함되어 있습니다. AudioDescriptions는 채널에 오디오 출력 에셋 하나가 포함되도록 지정합니다. 이 에셋은 의 소스를 사용하여 오디오를 AAC 포맷으로 생성합니다. InputAttachments CaptionDescriptions는 채널에 캡션 출력 에셋 하나가 포함되도록 지정합니다. 캡션은 의 소스를 사용하여 웹 형식으로 캡션을 생성합니다. InputAttachments VTT VideoDescriptions는 채널에 지정된 해상도의 비디오 출력 에셋 하나가 포함되도록 지정합니다. OutputGroups, 출력 그룹을 지정합니다. 이 예제에는 이름이 지정된 그룹이 하나 Akamai 있습니다. 를 사용하여 연결합니다 HLSPUT. 출력 그룹에는 두 개의 출력이 포함됩니다. 하나의 출력은 비디오 에셋 (이름이 Video_high 지정됨) 과 오디오 에셋 (Audio_EN명명됨) 에 대한 것입니다. 캡션 에셋 (이름이 WebVTT_EN 지정됨) 에 대한 출력 1개입니다.

이 예제에서 일부 매개 변수에는 값이 없거나 중첩된 빈 매개 변수가 포함되어 있습니다. OutputSettings 예를 들어 Video_and_audio 출력의 경우 빈 매개 변수 M3U8Settings로 끝나는 중첩 매개 변수가 여러 개 포함되어 있습니다. 이 매개 변수는 포함되어야 하지만 하위 매개 변수를 하나, 여러 개 또는 모두 생략할 수 있습니다. 즉, 자식이 기본값을 취하거나 null이 됩니다.

이 예제 채널에 적용되지만 이 파일에 지정되지 않은 모든 매개 변수는 기본값을 사용하거나, null로 설정되거나, 에서 생성된 고유한 값을 사용합니다. MediaLive

aws medialive create-channel \ --cli-input-json file://channel-in-hls-out-hls-akamai.json

channel-in-hls-out-hls-akamai.json의 콘텐츠:

{ "Name": "News_West", "RoleArn": "arn:aws:iam::111122223333:role/MediaLiveAccessRole", "InputAttachments": [ { "InputAttachmentName": "local_news", "InputId": "1234567", "InputSettings": { "AudioSelectors": [ { "Name": "English-Audio", "SelectorSettings": { "AudioLanguageSelection": { "LanguageCode": "EN" } } } ], "CaptionSelectors": [ { "LanguageCode": "ENE", "Name": "English_embedded" } ] } } ], "Destinations": [ { "Id": "akamai-server-west", "Settings": [ { "PasswordParam": "/medialive/examplecorp1", "Url": "http://203.0.113.55/news/news_west", "Username": "examplecorp" }, { "PasswordParam": "/medialive/examplecorp2", "Url": "http://203.0.113.82/news/news_west", "Username": "examplecorp" } ] } ], "EncoderSettings": { "AudioDescriptions": [ { "AudioSelectorName": "English-Audio", "CodecSettings": { "AacSettings": {} }, "Name": "Audio_EN" } ], "CaptionDescriptions": [ { "CaptionSelectorName": "English_embedded", "DestinationSettings": { "WebvttDestinationSettings": {} }, "Name": "WebVTT_EN" } ], "VideoDescriptions": [ { "Height": 720, "Name": "Video_high", "Width": 1280 } ], "OutputGroups": [ { "Name": "Akamai", "OutputGroupSettings": { "HlsGroupSettings": { "Destination": { "DestinationRefId": "akamai-server-west" }, "HlsCdnSettings": { "HlsBasicPutSettings": {} } } }, "Outputs": [ { "AudioDescriptionNames": [ "Audio_EN" ], "OutputName": "Video_and_audio", "OutputSettings": { "HlsOutputSettings": { "HlsSettings": { "StandardHlsSettings": { "M3u8Settings": {} } }, "NameModifier": "_1" } }, "VideoDescriptionName": "Video_high" }, { "CaptionDescriptionNames": [ "WebVTT_EN" ], "OutputName": "Captions-WebVTT", "OutputSettings": { "HlsOutputSettings": { "HlsSettings": { "StandardHlsSettings": { "M3u8Settings": {} } }, "NameModifier": "_2" } } } ] } ], "TimecodeConfig": { "Source": "EMBEDDED" } } }

출력:

출력은 JSON 파일 내용에 다음 값을 더한 값을 반복합니다. 모든 매개변수는 알파벳순으로 정렬됩니다.

ARN채널용. 의 마지막 부분은 고유한 채널 ARN ID입니다. EgressEndpoints이 예시 채널은 PUSH 입력에만 사용되었으므로 비어 있습니다. 적용하면 콘텐츠가 MediaLive 푸시되는 대상 주소가 표시됩니다. OutputGroups,Outputs. 여기에는 포함하지는 않았지만 이 채널과 관련된 매개변수를 포함하여 출력 그룹 및 출력에 대한 모든 매개변수가 표시됩니다. 매개변수가 비어 있거나 (이 채널 구성에서 매개변수 또는 기능이 비활성화되었음을 나타내는 것일 수 있음) 적용할 기본값이 표시될 수 있습니다. LogLevel기본값 (DISABLED) 으로 설정되어 있습니다. Tags기본값 (null) 으로 설정되어 있습니다. PipelinesRunningCount채널의 현재 상태를 State 보여줍니다.

자세한 내용은 AWS Elemental MediaLive 사용 안내서의 처음부터 채널 만들기를 참조하십시오.

  • 자세한 API 내용은 AWS CLI 명령 CreateChannel참조를 참조하십시오.

다음 코드 예시에서는 create-input을 사용하는 방법을 보여 줍니다.

AWS CLI

입력 생성하기

다음 create-input 예제에서는 이러한 유형의 입력에 적용되는 매개 변수가 포함된 JSON 파일을 전달하여 HLS PULL 입력을 생성합니다. 이 예제의 입력은 JSON 인제스트의 중복성을 지원하기 위해 입력에 두 개의 소스 (주소) 를 지정합니다. 이러한 주소에는 비밀번호가 필요합니다.

aws medialive create-input \ --cli-input-json file://input-hls-pull-news.json

input-hls-pull-news.json의 콘텐츠:

{ "Name": "local_news", "RequestId": "cli000059", "Sources": [ { "Url": "https://203.0.113.13/newschannel/anytownusa.m3u8", "Username": "examplecorp", "PasswordParam": "/medialive/examplecorp1" }, { "Url": "https://198.51.100.54/fillervideos/oceanwaves.mp4", "Username": "examplecorp", "PasswordParam": "examplecorp2" } ], "Type": "URL_PULL" }

출력:

출력은 JSON 파일 내용과 다음 값을 반복하여 출력합니다. 모든 매개변수는 알파벳순으로 정렬됩니다.

Arn입력용입니다. 의 마지막 부분은 고유한 입력 ARN ID입니다. Attached Channels새로 만든 입력의 경우 이 필드는 항상 비어 있습니다. Destinations이 예제에서는 PUSH 입력과 함께 사용되므로 비어 있습니다. Id입력의 경우 에 있는 ID와 동일합니다ARN. MediaConnectFlows는 입력 유형에만 사용되므로 이 예제에서는 비어 MediaConnect 있습니다. SecurityGroups는 PUSH 입력에만 사용되므로 이 예제에서는 비어 있습니다. State이 입력의 Tags, 비어 있습니다 (이 매개변수의 기본값).

자세한 내용은 AWS Elemental MediaLive 사용 안내서의 입력 생성을 참조하십시오.

  • 자세한 API 내용은 AWS CLI 명령 CreateInput참조를 참조하십시오.