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

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

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

MediaLive 사용 예제 AWS CLI

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

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

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

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

AWS CLI

채널을 생성하려면

다음 create-channel 예제에서는 지정하려는 파라미터가 포함된 JSON 파일을 전달하여 채널을 생성합니다.

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

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

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

이 예제에서는 일부 파라미터에 값이 없거나 중첩된 빈 파라미터가 포함되어 있습니다. 예를 들어, Video_and_audio 출력 OutputSettings 에는 빈 파라미터 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 채널에 대한 입니다. 의 마지막 부분은 고유한 채널 IDARN입니다.EgressEndpoints 는 PUSH 입력에만 사용되므로 이 예제 채널에서는 비어 있습니다. 적용하면 MediaLive 해당 콘텐츠의 주소가 푸시된 주소를 표시합니다.OutputGroups, Outputs. 여기에는 포함되지 않았지만 이 채널과 관련된 파라미터를 포함하여 출력 그룹 및 출력에 대한 모든 파라미터가 표시됩니다. 파라미터가 비어 있거나(아마도 이 채널 구성에서 파라미터 또는 기능이 비활성화되었음을 나타냄) 적용될 기본값을 표시할 수 있습니다.LogLevel 는 기본값()으로 설정되어 있습니다DISABLED.Tags 는 기본값(null)PipelinesRunningCount으로 설정되어 있고 채널의 현재 상태를 State 보여줍니다.

자세한 내용은 요소 사용 설명서의 Scratch에서 채널 생성을 참조하세요. AWS MediaLive

  • 자세한 API 내용은 명령 참조CreateChannel의 섹션을 참조하세요. AWS CLI

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

AWS CLI

입력을 생성하려면

다음 create-input 예제에서는 이 유형의 HLS PULL 입력에 적용되는 파라미터가 포함된 JSON 파일을 전달하여 입력을 생성합니다. 이 예제 입력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 입력용입니다. 의 마지막 부분은 고유한 입력 IDARN입니다. Attached Channels이는 새로 생성된 입력에 대해 항상 비어 있습니다. Destinations이는 PUSH 입력에만 사용되므로 이 예제에서는 비어 있습니다.Id 입력의 경우 의 ID와 동일합니다ARN. 입력은 유형 의 입력에만 사용되므로 이 MediaConnectFlows예제에서는 비어 MediaConnect있습니다. SecurityGroups이는 PUSH 입력에만 사용되므로 이 예제에서는 비어 있습니다.State 이 입력의 입력은 비어 Tags있습니다(이 파라미터의 기본값).

자세한 내용은 AWS 요소 MediaLive 사용 설명서입력 생성을 참조하세요.

  • 자세한 API 내용은 명령 참조CreateInput의 섹션을 참조하세요. AWS CLI