View a markdown version of this page

MediaLive contoh menggunakan AWS CLI - AWS Command Line Interface

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

MediaLive contoh menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface with MediaLive.

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancreate-channel.

AWS CLI

Untuk membuat saluran

create-channelContoh berikut membuat saluran dengan meneruskan file JSON yang berisi parameter yang ingin Anda tentukan.

Saluran dalam contoh ini mengambil input HLS PULL yang terhubung ke sumber yang berisi video, audio, dan teks tertanam. Saluran membuat satu grup keluaran HLS dengan server Akamai sebagai tujuan. Grup keluaran berisi dua output: satu untuk H.265 video dan audio AAC, dan satu untuk teks Web-VTT , hanya dalam bahasa Inggris.

JSON untuk saluran contoh ini menyertakan parameter minimum yang diperlukan untuk saluran yang menggunakan input HLS PULL dan yang menghasilkan grup keluaran HLS dengan Akamai sebagai tujuan. JSON berisi bagian-bagian utama ini:

InputAttachments, yang menentukan satu sumber untuk audio, dan satu sumber untuk keterangan. Itu tidak menentukan pemilih video, yang berarti meng MediaLive ekstrak video pertama yang ditemukan di sumbernya. Destinations, yang berisi dua alamat IP (URL) untuk grup keluaran tunggal di saluran ini. Alamat ini memerlukan kata sandi. EncoderSettings, yang berisi subbagian. AudioDescriptions, yang menentukan bahwa saluran berisi satu aset output audio, yang menggunakan sumber dari InputAttachments, dan menghasilkan audio dalam format AAC. CaptionDescriptions, yang menentukan bahwa saluran berisi satu aset keluaran teks, yang menggunakan sumber dari InputAttachments, dan menghasilkan teks dalam Web-VTT format. VideoDescriptions, yang menentukan bahwa saluran berisi satu aset output video, dengan resolusi yang ditentukan. OutputGroups, yang menentukan grup keluaran. Dalam contoh ini ada satu kelompok bernamaAkamai. Koneksi dibuat menggunakan HLS PUT. Grup keluaran berisi dua output. Satu output adalah untuk aset video (bernamaVideo_high) dan aset audio (bernamaAudio_EN). Satu output adalah untuk aset keterangan (bernamaWebVTT_EN).

Dalam contoh ini, beberapa parameter tidak mengandung nilai atau berisi parameter kosong bersarang. Misalnya, OutputSettings untuk Video_and_audio output berisi beberapa parameter bersarang yang berakhir pada parameter kosong M3u8settings. Parameter ini harus disertakan, tetapi Anda dapat menghilangkan satu, beberapa, atau semua turunannya, yang berarti bahwa anak akan mengambil nilai defaultnya atau menjadi nol.

Semua parameter yang berlaku untuk saluran contoh ini tetapi yang tidak ditentukan dalam file ini akan mengambil nilai default, disetel ke null, atau mengambil nilai unik yang dihasilkan oleh MediaLive.

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

Isi dari 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" } } }

Output:

Output mengulangi kembali isi file JSON, ditambah nilai-nilai berikut. Semua parameter diurutkan berdasarkan abjad.

ARNuntuk saluran. Bagian terakhir dari ARN adalah ID saluran unik. EgressEndpointskosong di saluran contoh ini karena hanya digunakan untuk input PUSH. Ketika diterapkan, itu menunjukkan alamat pada konten MediaLive yang didorong ke. OutputGroups,Outputs. Ini menunjukkan semua parameter untuk grup keluaran dan output, termasuk yang tidak Anda sertakan tetapi yang relevan dengan saluran ini. Parameter mungkin kosong (mungkin menunjukkan parameter atau fitur dinonaktifkan dalam konfigurasi saluran ini) atau mungkin menunjukkan nilai default yang akan berlaku. LogLeveldiatur ke default (DISABLED). Tagsdiatur ke default (null). PipelinesRunningCountdan State menunjukkan status saluran saat ini.

Untuk informasi selengkapnya, lihat Membuat Saluran dari A wal di Panduan AWS MediaLive Pengguna Elemental.

Contoh kode berikut menunjukkan cara menggunakancreate-input.

AWS CLI

Untuk membuat masukan

create-inputContoh berikut membuat HLS PULL input dengan meneruskan file JSON yang berisi parameter yang berlaku untuk jenis input ini. JSON untuk input contoh ini menentukan dua sumber (alamat) ke input, untuk mendukung redundansi dalam ingest. Alamat ini memerlukan kata sandi.

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

Isi dari 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" }

Output:

Output mengulangi kembali isi file JSON, ditambah nilai-nilai berikut. Semua parameter diurutkan berdasarkan abjad.

ArnUntuk input. Bagian terakhir dari ARN adalah ID input unik. Attached Channels, yang selalu kosong untuk input yang baru dibuat. Destinations, yang kosong dalam contoh ini karena hanya digunakan dengan input PUSH. Iduntuk input, sama dengan ID di ARN. MediaConnectFlows, yang kosong dalam contoh ini karena hanya digunakan dengan input tipe MediaConnect. SecurityGroups, yang kosong dalam contoh ini karena hanya digunakan dengan input PUSH. Statedari input ini. Tags, yang kosong (default untuk parameter ini).

Untuk informasi selengkapnya, lihat Membuat Input di Panduan AWS MediaLive Pengguna Elemental.

  • Untuk detail API, lihat CreateInput di Refer AWS CLI ensi Perintah.